gulp-insert exclude包装某些文件

时间:2015-05-14 04:23:55

标签: javascript gulp gulp-insert

我想使用gulp-insert对每个JS文件进行包装,但.module.js文件除外。

这是我的gulp任务:

gulp.task('compressjs', function() {
    gulp.src("local/app/**/*.js")
    .pipe(sourcemaps.init())
    // wrap each individual JS file
    .pipe(insert.wrap('(function(){"use strict";', '\n})();'))
    .pipe(uglify())
    .pipe(concat('all.min.js'))
    .pipe(sourcemaps.write('.'))
    .pipe(gulp.dest('public/app'));
}

按预期包装每个JS文件。那么,如何将其从包含.module.js扩展名的文件中排除?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用gulp-add-src,排除第一个来源的.module.js,然后通过gulp-insert进行管道,然后将.module.js添加回来源。

var addsrc = require("gulp-add-src");

gulp.task('compressjs', function() {
    gulp.src(["local/app/**/*.js", "!local/app/**/*.module.js"])
    .pipe(sourcemaps.init())
    // wrap each individual JS file
    .pipe(insert.wrap('(function(){"use strict";', '\n})();'))
    // add the modules file
    .pipe(addsrc("local/app/**/*.module.js"))
    .pipe(uglify())
    .pipe(concat('all.min.js'))
    .pipe(sourcemaps.write('.'))
    .pipe(gulp.dest('public/app'));
}