我想使用gulp-useref将我所有的JavaScript文件合并为一个。

在我的JavaScript文件中,我混合使用了预缩小文件和未缩小文件。

我只想丑化尚未缩小的文件(出于构建性能的原因),而https://github.com/jonkemp/gulp-useref#transform-streams则建议这样做(实际上看起来很简单)。以下是我的Gulp任务定义:

gulp.task('compile', function () {
    return gulp.src('index.html')
        .pipe(useref({}, lazypipe().pipe(function() {
            return gulpif(['*.js', '!*.min.js'], uglify());
        })))
        .pipe(gulp.dest(paths.build));
});


之所以有效,是因为我得到了一个串联文件,但未缩小的文件仍未缩小(预缩小的文件仍保持缩小-符合预期)。

我的代码部分基于此:https://github.com/craigjennings11/gulp-uglifyjs

知道为什么我的文件没有被压缩吗?



参考文献


gulp
gulp-useref
gulp-if
gulp-uglify
lazypipe

最佳答案

对于其他遇到此问题的人:我发现一旦将我的glob开始放在**/的condition参数的数组中,我就必须使用gulpif通配符模式。

gulp.task('compile', function () {
    return gulp.src('index.html')
        .pipe(useref({}, lazypipe().pipe(function() {
            return gulpif(['**/*.js', '!**/*.min.js'], uglify());
        })))
        .pipe(gulp.dest(paths.build));
});


然后它对我来说很完美。

关于javascript - 结合使用gulp-if和gulp-useref和gulp-uglify,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34659759/

10-11 06:05