这是我的Gulp设置:
var gulp = require('gulp');
// ALLOWS FOR SASS
var sass = require('gulp-sass');
// WATCHES FOR CHANGES
var watch = require('gulp-watch');
// MINIFIES CSS
var cleanCSS = require('gulp-clean-css');
// MERGES CSS FILES INTO ONE
var concat = require('gulp-concat');
// GULP WATCH
gulp.task('watch', function() {
gulp.watch('wp-content/themes/nss/assets/**/*.sass', ['sass']);
});
// GULP SASS CONVERTER
gulp.task('sass', function(){
return gulp.src('wp-content/themes/nss/assets/sass/style.sass')
.pipe(sass()) // Converts Sass to CSS with gulp-sass
.pipe(cleanCSS())
.pipe(concat('style.min.css'))
.pipe(gulp.dest('wp-content/themes/nss/assets/css'));
});
gulp.task('default', ['sass','watch']);
我的问题: Gulp Watch仅运行一次,并且不会持续寻找更新。我之前在其他项目上使用了完全相同的代码,因此对于我做错了什么感到困惑。
普通版:3.3.4
答案 0 :(得分:1)
在您的“监视”任务中需要一个return
。
如果不返回流,则每个任务的调用者或任何相关任务都将不等待异步结果。
对代码的一些修正。
// GULP WATCH
gulp.task('watch', function() {
return gulp.watch('wp-content/themes/nss/assets/**/*.sass', ['sass']);
});
那样就可以。
我已经读到,也建议将gulp-plumber
用作it prevents pipe breaking on errors。