我的任务如下:
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函数包装脚本?
发布于 2015-04-27 08:42:14
简短的回答:你不能,也不应该。古普的哲学是,一项任务应该做一件事。所以你的设置真的很好。所以坚持你的配置。
稍长一点的答案:有一个名为gulp-uglifyjs的插件,它使您能够完成原始uglify所能做的一切(包括包装之类的)。然而,古尔普社区将其列入黑名单,认为它是一种复制,而不是“按照古尔普的本意行事”。
代码将如下所示:
var uglify = require('gulp-uglifyjs');
gulp.task('scripts', function(){
return gulp.src('./app/**/*.js')
.pipe(uglify({
wrap: true
}))
.pipe(gulp.dest('./dest'));
});Uglify所做的包装也非常固执己见,这意味着您不能单独添加任何内容,而必须坚持它的模块包装。
因此,如前所述:您的设置实际上是要进行的;-)
顺便说一句:出于性能原因,我只打一次电话给uglify()。
https://stackoverflow.com/questions/29890720
复制相似问题