我安装了gulp来缩小我的JS文件。当我运行gulp watch时,观察者正在等待文件的更改,所以这很好。但是,当我修改文件并保存它时,watch任务不只是被触发一次,而是一直被触发,并且没有停止。我必须通过点击ctrl + c手动停止任务。
这是我的gulpfile.js文件:
var gulp = require('gulp');
var minify = require('gulp-minify');
gulp.task('min-js', function() {
return gulp.src('lib/app.js')
.pipe(minify({
ext: {
min: '.min.js'
},
ignoreFiles: ['-min.js']
}))
.pipe(gulp.dest('lib'))
});
gulp.task('watch', function(){
gulp.watch('lib/app.js', gulp.parallel('min-js'));
// Other watchers
});
gulp.task('default', gulp.parallel('min-js', 'watch'));发布于 2020-04-08 15:58:28
除了缩小的文件外,gulp-minify还输出源文件。
请参阅文档这里。
由于输出与输入通过管道传输到同一个目录,lib,观察者看到输入文件被覆盖,并再次触发。这会导致无限循环的观察者触发小型化。
解决办法:
noSource上使用gulp-minify选项可以防止源文件的输出。https://stackoverflow.com/questions/61104667
复制相似问题