我想使用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/