gulp-if javascript文件但不在gulp-useref的特定目录中

pQu*_*123 3 javascript gulp

我想对不在./src/components目录中的javascript文件运行minifaction.我试过这个:

    gulp.task('index', function () {
    var assets = useref.assets();

    return gulp.src('src/index.html')
        .pipe(assets)
        .pipe(gulpif('!./src/components/** && *.js', uglify()))
        .pipe(gulpif('*.css', minifyCss()))
        .pipe(assets.restore())
        .pipe(useref())
        .pipe(gulp.dest('dist'));
});
Run Code Online (Sandbox Code Playgroud)

但它似乎没有工作(即无论如何它在./src/components中对js文件进行缩小).

所有帮助表示赞赏.提前致谢.

ddp*_*rrt 6

面对真正的问题更新

好的,这是重点.gulp-if用于gulp-match评估条件.在那里你可以使用一组globs:

.pipe(gulpif(['*.js', '!./src/components/**'], uglify())
Run Code Online (Sandbox Code Playgroud)

还是为了其他人:

gulp-if可能是错误的方法.我建议一个流队列.

var queue = require('streamqueue')

...

return queue.queue(
    // all the JS files without components
    gulp.src(['**/*.js', '!./src/components/**/'])
        .pipe(uglify()),
    // all JS files in components
    gulp.src('./src/components/**/*.js')
)
.done()
.pipe(doSomething())
Run Code Online (Sandbox Code Playgroud)

这样,您可以对所有非组件执行单独的任务,然后执行常用过程.

代码未经过测试,但您可以查看文档.