我的手表插件的gulpfile一直出现以下错误
‘watch* errored after XXms
Error in plugin ‘gulp-watch’
Message:
glob should be String or Array, not object
这是我在gulpfile中的代码看起来像
function sassWatch(sassData) {
gulp.src(sassData.watch)
.pipe(watch({glob:sassData.watch, emitOnGlob: true}, function() {
gulp.src(sassData.sass)
.pipe(sass(sassOptions))
.on('error', function(err) {
gutil.log(err.message);
gutil.beep();
global.errorMessage = err.message + " ";
})
.pipe(checkErrors())
.pipe(rename(sassData.name))
.pipe(gulp.dest(sassData.output))
.pipe(livereload());
}));
}
知道我在这里做错了吗?
答案 0 :(得分:0)
您正在使用1.0.0之前的方式为gulp-watch提供通配模式,但您的gulp-watch插件的版本大于> = 1.0.0。
gulp-watch的1.0.0版本更改了方法签名:
watch([options, callback])
到
watch(glob, [options, callback])
这意味着你必须提供这样的通配模式:
.pipe(watch(sassData.watch, { /*other options*/ }, function() {
请注意,1.0.0中删除了emitOnGlob
选项。请阅读this github issue和Migration to 1.0.0 notes以获取更多信息。