我有一个任务:
gulp.task('styles', ['cleanup'], function () {
'use strict';
log('Compiling Less files to :' + config.temp);
return gulp
.src(config.less)
.pipe(less())
.pipe(autoprefixer({browsers: ['last 2 versions', '> 5%']}))
.pipe(gulp.dest(config.temp));
});
当我手动调用它时,此任务的工作方式与此类似。它删除config.temp中的文件(未在代码片段中显示)并重新编译less到css并将其再次放在config.temp目录中。
问题是当我尝试在gulp.watch中运行此任务时:
gulp.task('watch', function() {
gulp.watch(config.less, ['styles']);
});
任务再也不起作用了。我可以看到gulp接收我在较少文件中所做的更改,我看到日志输出,没有错误,但仍然没有真正发生任务。我的css输出保持不变。
任务没有真正执行的另一个迹象是gulp花费的时间;当我手动完成时需要更长的时间:
然后当gulp watch执行相同的任务时:
我一直在关注一个完全相同的教程,我有一些示例文件也使用gulp.watch并且工作。
我看过一些提到gulp-watch但是我不确定和gulp.watch一样吗?
希望有人可以向我指出一些明显的错误。
答案 0 :(得分:1)
有些事情要尝试:
尝试我在评论中提到的调试
在您输入源代码后立即在styles
任务中添加此内容
.pipe($.plumber()) // exit gracefully if something fails after this
另外,请务必检查您的gulp版本。
答案 1 :(得分:0)
我希望我可以删除这个问题,因为显然没有任何错误:Webstorm在刷新时太慢了,所以我一直认为.css文件没有改变。我只需要等待大约45秒。对不起浪费互联网空间!