我的模块中有一些函数,它们将函数代码注入脚本标记内的页面。例如如果我有以下功能。
var test = function test() {alert("hello world")}
然后我必须将该函数作为代码注入例如。
document.write("<script">);
document.write(test.toString());
document.write("</script">);
现在的问题是当gulp / uglify任务运行时;它解释了代码,这意味着它重命名函数名称等等。在这种情况下,截断函数名称,并使其成为匿名函数;这导致函数代码(toString)被注入页面而没有函数名。
我认为一个解决方案是我可以禁用在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'),