我有以下设置:
// watch for changes
gulp.task('watch', function () {
gulp.watch('./assets/**/*.less', ['compile-less']);
});
gulp.task("compile-less", () => {
return gulp.src('./assets/build-packages/*.less')
.pipe($.less({
paths: [ $.path.join(__dirname, 'less', 'includes') ]
}))
.pipe(gulp.dest(OutputPath)); // ./dist/styles/
});
因此,基本上每次开发人员更改较少文件中的某些内容时,它都会运行"无编译"任务。任务"无编译"构建我们的无包文件(包括所有@imports(。随机少文件中的第一个更改有效,正在构建的所有较少文件。第二次运行任务时,当我将某些内容更改为导入的较少文件时,我生成的 dist 文件夹没有更新。我想知道监视任务和编译任务的组合是否以某种方式缓存文件。因为如果我手动运行无编译任务,它每次都可以工作。
有没有人有同样的经历?
gulp-less
版本4.0.0有一个奇怪的缓存问题。安装gulp-less@3.5.0
,将解决问题。这将被修复。查看 https://github.com/stevelacy/gulp-less/issues/283#ref-issue-306992692