Gulp Watch任务

时间:2015-08-17 12:20:32

标签: gulp gulp-watch gulp-less

我有以下gulp任务:

gulp.task('less', function() {
    gulp.src('public/stylesheets/**/*.less')
        .pipe(less())
        .pipe(minifycss())
        .pipe(concat('styles.min.css'))
        .pipe(gulp.dest('dist/public'))
});

gulp.task('watch', function () {
    gulp.watch('public/stylesheets/**/*.{css,less}', ['less']);
});

并且它们都包含在我的default任务中(以及其他任务):

gulp.task('default', ['clean'], function () {
    gulp.start('less','watch');
});

当我运行gulp时,一切正常。我的所有.less文件都编译成一个缩小的.css文件。

现在我在任何更少的文件中进行更改并查看输出

[14:11:27] Starting 'less'...
[14:11:27] Finished 'less' after 1.49 ms

但是我的缩小的css文件没有改变。仅仅为了测试目的,我删除了minify / concat,但它具有相同的效果。 less任务在默认任务中正常工作,但在watch启动时没有任何反应。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

尝试使用这样的手表:

gulp.watch([your glob], function () {
    gulp.start(['less']);
});

我也相信你需要从你的glob模式中删除.css。编译LESS会产生CSS,这也会触发观察者。