为什么 gulp-uglify 不修改我的变量名?
Why isn't gulp-uglify mangling my variables names?
我有以下任务:
var uglify = require('gulp-uglify');
gulp.task('scripts', function () {
gulp.src('./src/scripts/*.js')
.pipe(concat('main.js'))
.pipe(uglify())
.pipe(gulp.dest('./dist'));
});
以及以下 2 javascript 个文件,test1.js :
var testOneOutput = 'function one';
console.log(testOneOutput);
和test2.js
var testTwoOutput = 'function two';
console.log(testTwoOutput);
并且所有目录都设置正确。虽然当我 运行 任务时,我没有迹象表明丑化工作。虽然串联效果很好。我错过了什么吗?
先执行uglify
。然后concat
丑化后的文件。
gulp.task('scripts', function () {
gulp.src('./src/scripts/*.js')
.pipe(uglify())
.pipe(concat('main.js'))
.pipe(gulp.dest('./dist'));
});
在您的脚本中,testOneOutput
和 testTwoOutput
是全局变量,默认情况下 gulp-uglify
仅破坏局部变量。
将您的代码放入一个函数中,您会看到一些修改。
function go() {
var testOneOutput = 'function one';
console.log(testOneOutput);
}
如果您还想破坏顶级函数,您可以提供 {mangle: {toplevel: true}}
选项。
uglify({mangle: {toplevel: true}})
我有以下任务:
var uglify = require('gulp-uglify');
gulp.task('scripts', function () {
gulp.src('./src/scripts/*.js')
.pipe(concat('main.js'))
.pipe(uglify())
.pipe(gulp.dest('./dist'));
});
以及以下 2 javascript 个文件,test1.js :
var testOneOutput = 'function one';
console.log(testOneOutput);
和test2.js
var testTwoOutput = 'function two';
console.log(testTwoOutput);
并且所有目录都设置正确。虽然当我 运行 任务时,我没有迹象表明丑化工作。虽然串联效果很好。我错过了什么吗?
先执行uglify
。然后concat
丑化后的文件。
gulp.task('scripts', function () {
gulp.src('./src/scripts/*.js')
.pipe(uglify())
.pipe(concat('main.js'))
.pipe(gulp.dest('./dist'));
});
在您的脚本中,testOneOutput
和 testTwoOutput
是全局变量,默认情况下 gulp-uglify
仅破坏局部变量。
将您的代码放入一个函数中,您会看到一些修改。
function go() {
var testOneOutput = 'function one';
console.log(testOneOutput);
}
如果您还想破坏顶级函数,您可以提供 {mangle: {toplevel: true}}
选项。
uglify({mangle: {toplevel: true}})