为什么gulp-uglify不会破坏我的变量名称?

12 javascript gulp gulp-uglify

我有以下任务:

var uglify = require('gulp-uglify');

gulp.task('scripts', function () {
  gulp.src('./src/scripts/*.js')
    .pipe(concat('main.js'))
    .pipe(uglify())
    .pipe(gulp.dest('./dist'));
});
Run Code Online (Sandbox Code Playgroud)

以下2个javascript文件,test1.js:

var testOneOutput = 'function one';
console.log(testOneOutput);
Run Code Online (Sandbox Code Playgroud)

和test2.js

var testTwoOutput = 'function two';
console.log(testTwoOutput);
Run Code Online (Sandbox Code Playgroud)

并且所有目录都已正确设置.虽然当我执行任务时,我没有迹象表明是否有丑陋的工作.连接工作很好.我错过了什么吗?

psa*_*ets 14

在你的脚本testOneOutput,并testTwoOutput在全局变量,默认情况下gulp-uglify只轧液本地变量.

把你的代码放在一个函数中,你会看到一些错误.

function go() {
  var testOneOutput = 'function one';
  console.log(testOneOutput);
}
Run Code Online (Sandbox Code Playgroud)


小智 9

你可以给{mangle: {toplevel: true}},如果你想你的裂伤顶级功能以及选项.

uglify({mangle: {toplevel: true}})
Run Code Online (Sandbox Code Playgroud)