所以我开始使用 Gulp 来自动化我的工作流程,我一直在玩它,但在执行任务以连接和丑化多个文件时遇到了这个问题,IIFE 中的一些代码丢失了。要连接使用gulp-usref
.
// a-file.js
(function() {
'use strict';
console.log('a-file');
var variableA = 'variable a';
})();
// anotherfile.js
(function() {
'use strict';
console.log('another-file');
var variableB = 'variable b';
var myFunction = function() {
return 'return function value';
};
})();
// main.js
(function() {
'use strict';
console.log('Hello main');
var variableC = 'variable c';
})();
// gulpfile.js
gulp.task('useref', function() {
return gulp.src('app/*.jade')
.pipe(jade({pretty: true}))
.pipe(useref())
.pipe(gulpIf('*.js', uglify()))
.pipe(gulpIf('*.css', cssnano()))
.pipe(gulp.dest('dist'))
})
当我运行任务时,文件被连接起来并丑化,但variableA, variableB, variableC and myFunction
没有出现,只有控制台.log。
!function(){"use strict";console.log("a-file")}(),function(){"use strict";console.log("another-file")}(),function(){"use strict";console.log("Hello main")}();
我错过了一步?或者我该如何解决这个问题?
Uglifiers,包括gulp-uglify,删除未使用的代码。