dmi*_*min 5 css gulp stylelint
我使用gulp-stylefmt,每次保存任何CSS文件时都会运行:
function stylelint () {
return gulp.src('src/**/*.css')
.pipe($.stylefmt())
.pipe(gulp.dest('src/'));
}
Run Code Online (Sandbox Code Playgroud)
同时gulp.watch监视路径src/**/*.css并再次运行stylelint任务.
控制台输出:
[16:32:24] Starting 'stylelint'...
[16:32:25] Finished 'stylelint' after 554 ms
[16:32:25] Starting 'stylelint'...
[16:32:25] Finished 'stylelint' after 60 ms
[16:32:25] Starting 'stylelint'...
[16:32:25] Finished 'stylelint' after 33 ms
[16:32:25] Starting 'stylelint'...
[16:32:25] Finished 'stylelint' after 36 ms
[16:32:26] Starting 'stylelint'...
[16:32:26] Finished 'stylelint' after 34 ms
[16:32:26] Starting 'stylelint'...
[16:32:26] Finished 'stylelint' after 29 ms
[16:32:26] Starting 'stylelint'...
[16:32:26] Finished 'stylelint' after 27 ms
[16:32:26] Starting 'stylelint'…
[16:32:26] Finished 'stylelint' after 32 ms
Run Code Online (Sandbox Code Playgroud)
有一种方法可以纠正这种行为并且只运行一次stylelint任务吗?
UPD.我添加了gulp-cached,现在它只运行了两次.我可以改进它一次运行吗?
function stylelint () {
return gulp.src('src/**/*.css')
.pipe($.cached('stylelint'))
.pipe($.stylefmt())
.pipe($.cached('stylelint'))
.pipe(gulp.dest('src/'));
}
Run Code Online (Sandbox Code Playgroud)
我想我用since和gulp.lastRun重复了@SvenSchoenung 的解决方案 1 。在我的情况下,我没有gulp -cached,但我使用了gulp4
function stylelint () {
return gulp.src('src/**/*.css', {since: gulp.lastRun(stylelint)})
.pipe($.stylefmt())
.pipe(gulp.dest('src/'));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
714 次 |
| 最近记录: |