我有以下任务:
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);
所有目录都设置正确。虽然当我执行任务时,我没有迹象表明是否有丑陋的工作。连接工作很好。我错过了什么吗?
答案 0 :(得分:14)
在您的脚本中testOneOutput
和testTwoOutput
是全局变量,默认情况下gulp-uglify
只会破坏本地变量。
将代码放入函数中,您会看到一些错误。
function go() {
var testOneOutput = 'function one';
console.log(testOneOutput);
}
答案 1 :(得分:8)
如果您想要破坏顶级功能,也可以选择{mangle: {toplevel: true}}
。
uglify({mangle: {toplevel: true}})
答案 2 :(得分:1)
首先执行uglify
。然后concat
uglified files。
gulp.task('scripts', function () {
gulp.src('./src/scripts/*.js')
.pipe(uglify())
.pipe(concat('main.js'))
.pipe(gulp.dest('./dist'));
});