2
我試圖用一些吞掉插件(jscs
,csscomb
)在開發時的風格我在飛行代碼一飲而盡。無限循環的手錶與自動更新/自動生成的文件
我遇到了與格式化任務運行無限循環的吞噬進程的問題。
什麼,我相信是發生:
- 開始
serve
任務某種與所有任務進行 - 初始運行來準備文件登臺服務器
- 本地臨時服務器是開始與手錶任務並行
myfile.scss
由開發人員更新- 吞噬觀察員啓動csscomb任務
- csscomb插件更改文件,並替換它
- 觀察者看到任務從文件替換&的變化開始的格式任務再次...
- 的csscomb插件再次運行等等...
這是導致此循環的代碼片段。 (注意:這使用v4吞噬)
'use strict'
import { task, parallel, series, src, dest, watch, plugins } from './gulp';
import { startStagingServer } from './servers';
import { solution } from './solution.map';
const path = require('path');
task('serve', parallel(startStagingServer, watchStyles);
function watchStyles() {
watch([ solution.src.styles ], series(formatStyles, compileStyles))
}
function formatStyles(done) {
return src([ solution.src.styles ])
.pipe(plugins.csscomb())
.pipe(dest(solution.src.mount)) // the root of the solution
}
function compileStyles() {
return src([ solution.src.styles ])
.pipe(plugins.sass().on('error', plug.sass.logError))
.pipe(dest(path.join(solution.dest.stage, 'serve')));
}
有沒有人知道一種方法來避免這種情況?
嗯不是一個壞主意,但必須有一個方法來修復與手錶運行。 –