[英]Gulp-uglify wrap JS
我有一個看起來像這樣的gulp任務:
gulp.task('compressjs', function() {
gulp.src('local/**/*.js')
.pipe(sourcemaps.init())
// purpose compress here is only to give better error report
.pipe(uglify())
.pipe(concat('all.min.js'))
.pipe(wrap('(function(){"use strict"; <%= contents %>\n})();'))
// compress here to get best final compression
.pipe(uglify())
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest('public/app'));
});
這個gulp任務使用:
以上所有內容都正常運行。 但后來我發現gulp-uglify
似乎帶有它自己的wrap
函數。 如何使用gulp-uglify
函數來包裝腳本?
簡短的回答:你不能,也不應該。 Gulp的理念是,一項任務應該只做一件事。 所以你的設置實際上非常好。 所以堅持你的配置。
稍長回答:有一個叫插件gulp-uglifyjs
使您能夠做的一切原來uglify
可以做(包括包裝和類似的東西)。 然而,它被Gulp社區列為黑名單,因為它是一個復制品而不是“Gulp本來就是這樣”。
代碼如下所示:
var uglify = require('gulp-uglifyjs');
gulp.task('scripts', function(){
return gulp.src('./app/**/*.js')
.pipe(uglify({
wrap: true
}))
.pipe(gulp.dest('./dest'));
});
由Uglify完成的包裝也很自以為是,這意味着你不能自己添加任何東西,並且必須堅持使用它的模塊包裝器。
所以,正如所說:你的設置實際上是一個去;-)
順便說一句:出於性能原因,我只會打電話給uglify()
一次
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.