我在 /app/js
中有 JS 文件,并希望在修改时缩小并复制到 /dist/js/min
。我目前在我的 gulpfile
中有这个:
gulp.task('minifyJs', function () {
gulp.src('app/js/*.js')
.pipe(uglify().on('error', function (e) {
console.log(e);
}))
.pipe(rename({
suffix: '.min'
}))
.pipe(gulp.dest('/dist/js/min'))
;
});
这在默认任务中:
gulp.watch('app/js/*.js', ['lint', 'minifyJs']);
这里的问题是,每当修改单个 JS 文件时,目录中的所有 JS 文件都会被缩小和复制,这确实会减慢速度。
如何才能只缩小和复制修改过的文件?例如,有没有办法将修改后的文件名传递给任务,并将其用作任务中的src()
参数?
最佳答案
您可以使用gulp-changed这样只有更改过的文件才会被处理。
var changed = require('gulp-changed');
gulp.task('minifyJs', function () {
gulp.src('app/js/*.js')
.pipe(changed('/dist/js/min'))
.pipe(uglify().on('error', function (e) {
console.log(e);
}))
.pipe(rename({
suffix: '.min'
}))
.pipe(gulp.dest('/dist/js/min'));
});
关于gulp - 如何使用 Gulp 缩小并复制修改后的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34473464/