首页
学习
活动
专区
圈层
工具
发布

大口包JS
EN

Stack Overflow用户
提问于 2015-04-27 08:27:49
回答 1查看 649关注 0票数 3

我的任务如下:

代码语言:javascript
复制
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函数包装脚本?

EN

回答 1

Stack Overflow用户

发布于 2015-04-27 08:42:14

简短的回答:你不能,也不应该。古普的哲学是,一项任务应该做一件事。所以你的设置真的很好。所以坚持你的配置。

稍长一点的答案:有一个名为gulp-uglifyjs的插件,它使您能够完成原始uglify所能做的一切(包括包装之类的)。然而,古尔普社区将其列入黑名单,认为它是一种复制,而不是“按照古尔普的本意行事”。

代码将如下所示:

代码语言:javascript
复制
var uglify = require('gulp-uglifyjs');

gulp.task('scripts', function(){
   return gulp.src('./app/**/*.js')
       .pipe(uglify({
           wrap: true
        }))
        .pipe(gulp.dest('./dest'));
});

Uglify所做的包装也非常固执己见,这意味着您不能单独添加任何内容,而必须坚持它的模块包装。

因此,如前所述:您的设置实际上是要进行的;-)

顺便说一句:出于性能原因,我只打一次电话给uglify()

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29890720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档