0
因此,我開始使用Gulp來自動化我的工作流程,當時我正在玩弄它,但當我執行任務來連接和uglify多個文件時遇到了一些代碼是在一個IIFE裏面失蹤。連接使用gulp-usref
。使用gulp-uglify uglifying JS IIFE後遺失的代碼
// 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
不會出現,只是執行console.log的。
!function(){"use strict";console.log("a-file")}(),function(){"use strict";console.log("another-file")}(),function(){"use strict";console.log("Hello main")}();
我錯過了一個步驟?或者我可以如何解決這個問題?
這是否也發生在正常的代碼? afaik uglifiers刪除未使用的函數和變量 – pzmarzly
@pzmarzly哦,我不知道,顯然是這樣的,未使用的變量或函數被刪除。謝謝! –
我已經發布它作爲答案,所以它可以被選擇爲正確的 – pzmarzly