Gulp watch() 没有触发 less 进程

Gulp watch() not triggering the less process

当我更改项目中的任何 LESS 文件时,以下 gulp 监视任务不会被触发。谁能发现我做错了什么?这里的大多数答案都说不要使用 watch-less 模块,我不是。它应该监听项目中任何 LESS 文件的变化,当一个变化时,转到 app.less 文件重新生成 CSS 文件(app.less 对所有文件都有@includes) .

var watch = require("gulp-watch");
var less = require("gulp-less");

gulp.watch(paths.source + "**/*.less", function(event){
        gulp.src(paths.source + paths.assets + paths.less + "app.less")
            .pipe(less().on("error", console.log))
            .pipe(gulp.dest(paths.dev + paths.css));
    });

这里有一些问题:

  1. require("gulp-watch");在这里没用。其实gulp.watch是gulp的核心API。

  2. gulpfile.js 由几个 gulp 任务组成。

  3. 运行 gulp watch 在您的终端中。

例如:

var gulp = require('gulp');
var path = require('path');
var less = require('gulp-less');

var paths = {
  // your paths
};

gulp.task('styles', function () {
  return gulp.src(paths.source + paths.assets + paths.less + "app.less")
    .pipe(less({
      // paths to be used for @import directives
      paths: [ path.join(__dirname, 'less', 'includes') ]
    }))
    .pipe(gulp.dest('./'));
});

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