如何使用Gulp缩小和复制修改过的文件?
我在如何使用Gulp缩小和复制修改过的文件?,gulp,Gulp,我在/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({
/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()
参数?您可以使用该方法,以便仅处理已更改的文件
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'));
});