当我更改项目中的任何LESS文件时,未触发以下gulp watch任务。谁能发现我做错了什么?这里的大多数答案都说不要使用无表模块,我不是。它应该监听项目中任何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));
});
答案 0 :(得分:1)
以下是一些问题:
require("gulp-watch");
在这里毫无用处。实际上gulp.watch
是gulp的核心API。
gulpfile.js
由几个gulp任务组成。
在您的终端中运行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']);
});