Gulp 自动更新/自动生成文件上的无限观看循环
我正在尝试使用一些gulp插件(Gulp 自动更新/自动生成文件上的无限观看循环,gulp,infinite-loop,gulp-watch,jscs,gulp-jscs,Gulp,Infinite Loop,Gulp Watch,Jscs,Gulp Jscs,我正在尝试使用一些gulp插件(jscs,csscomb)在开发期间动态地设计代码 我遇到了一个问题,即gulp进程在格式化任务中运行无限循环 我相信会发生什么: 开始一项服务任务 将对所有任务执行初始运行,以便为临时服务器准备文件 本地临时服务器与监视任务并行启动 myfile.scss由开发人员更新 gulp watcher启动csscomb任务 csscomb插件更改文件并替换它 watcher任务看到文件替换的更改并再次启动格式化任务… csscomb插件再次运行,等等 下面是导致此
jscs
,csscomb
)在开发期间动态地设计代码
我遇到了一个问题,即gulp进程在格式化任务中运行无限循环
我相信会发生什么:
- 开始一项
任务服务
- 将对所有任务执行初始运行,以便为临时服务器准备文件
- 本地临时服务器与监视任务并行启动
由开发人员更新myfile.scss
- gulp watcher启动csscomb任务
- csscomb插件更改文件并替换它
- watcher任务看到文件替换的更改并再次启动格式化任务…
- csscomb插件再次运行,等等
有人知道避免这种情况的方法吗?避免这种情况的方法是不要把修正放在观察者身上。使用两个单独的函数:一个修复,另一个不修复。只看不看的那个。例如:
function taskJscsFix() {
return gulp.src(path.JS)
.pipe(jscs({
configPath: './gulp/.jscsrc',
fix: true
}))
.pipe(gulp.dest(path.SRC.JS));
}
function taskScripts() {
return gulp.src(path.JS)
.pipe(jscs({
configPath: './gulp/.jscsrc'
}))
.pipe(jscs.reporter())
.pipe(gulp.dest(path.DEST.JS));
}
嗯,这主意不错,但一定有办法让手表运行修复程序。
function taskJscsFix() {
return gulp.src(path.JS)
.pipe(jscs({
configPath: './gulp/.jscsrc',
fix: true
}))
.pipe(gulp.dest(path.SRC.JS));
}
function taskScripts() {
return gulp.src(path.JS)
.pipe(jscs({
configPath: './gulp/.jscsrc'
}))
.pipe(jscs.reporter())
.pipe(gulp.dest(path.DEST.JS));
}