gulp-插入排除包装某些文件

gulp-insert exclude wrap certain files

我想使用 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 的包装文件中排除呢?

您可以尝试使用 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'));
}