私のモジュールには、スクリプトタグ内のページに関数コードを挿入する関数がいくつかあります。たとえば、次の機能がある場合。
var test = function test() {alert("hello world")}
そして、その関数をコードとしてページに挿入する必要があります。
document.write("<script">);
document.write(test.toString());
document.write("</script">);
問題は、gulp/uglify タスクが実行されたときです。関数名などの名前を変更することを意味するコードを醜くします。この場合、関数名を切り捨てて、代わりに無名関数にします。その結果、関数名なしで関数コード (toString) がページに挿入されます。
私が思う1つの解決策は、uglifyで関数名の名前変更を無効にすることができるかもしれないということですが、それはスクリプト全体に適用され、適切でないと思われる関数の名前はまったく変更されません。または、mangle を false に設定します。
これについての簡単なヘルプ/考えをいただければ幸いです。ありがとうございました。
次のコードを使用して、gulp タスクを実行しています。
var gulp = require('gulp'),
gp_concat = require('gulp-concat'),
gp_rename = require('gulp-rename'),
gp_uglify = require('gulp-uglify');
gulp.task('js-fef', function(){
return gulp.src(['file1.js', 'file2.js', 'file3.js'])
.pipe(gp_concat('concat.js'))
.pipe(gulp.dest('dist'))
.pipe(gp_rename('uglify.js'))
.pipe(gp_uglify())
.pipe(gulp.dest('dist'));
});
gulp.task('default', ['js-fef'], function(){});var gulp = require('gulp'),