Gulp uglify - 忽略特定功能的函数重命名

时间:2015-09-03 08:23:09

标签: javascript gulp gulp-uglify

我的模块中有一些函数,它们将函数代码注入脚本标记内的页面。例如如果我有以下功能。

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'),

0 个答案:

没有答案