所以我在(长期)休息后回到个人项目,然后我又回到了事物的流动中。面对我的一件事是,我的观察者并没有工作。例如,如果我调用gulp watch-for-jshint
,我希望在修改JS文件时可以更改JSHint - 无论是根文件(gulp.js)还是我的客户端应用程序(./client-app) /js/controllers/register.js)。那没有发生。我可以看到watch正在启动,但是当我更改文件时它从不调用JSHint!
任何人都有任何想法出错或如何诊断?据我所知,我的语法是正确的...因为(为了测试目的)我直接调用watch-for-jshint,我应该避免通常的陷阱,从来没有真正调用我的观察者。 / p>
简化的gulp文件:
var gulp = require('gulp'),
clean = require('gulp-clean'),
jshint = require('gulp-jshint'),
notify = require('gulp-notify'),
watch = require('gulp-watch'),
gulp.task('jshint', function(){
console.log("Running JSHint");
return gulp.src(['*.js', 'client-app/**/*.js'], ['jshint'])
.pipe(jshint({"moz":true}))
.pipe(jshint.reporter('default'))
.pipe(jshint.reporter('fail'))
.on('error', notify.onError({ sound: "Funk" }));
});
gulp.task('watch-for-jshint', function(){
return watch(['*.js', './client-app/**/*.js'], ['jshint']);
});
我已经截断了很多无关紧要的任务,但上面的内容应该是相关的一切。
答案 0 :(得分:0)
当然,在发布后5分钟,我发现我的语法和许多问题正在使用的区别。大多数人都在使用gulp.watch
,我只是按照仅使用watch
的{{3}}页面上的语法。
不......完全确定为什么一个有效,另一个无效;奇。似乎新版本不起作用,因为它没有引用gulp-watch模块。
答案 1 :(得分:0)
如果没有必要,请删除gulp任务中的以下行。
.on('error',notify.onError({sound:“Funk”}))
这使gulp任务停止并显示错误。因此手表也停止了。
替换
返回观察(['* .js','。/ client-app /。/ *。js'],['jshint']);
与
gulp.watch(['*。js','。/ client-app /。/ *。js'],['jshint']);