那么,整天都在研究新的FE工作流程,主要的想法是通过观察者运行一些任务,我们将拥有IDE和一个窗口,浏览器每次发生变化时都会刷新(scss,js,html,等等).
所以,如果一切顺利,我们什么都看不到:浏览器将重新加载,我们将继续工作.
但是,我们希望使用gulp notify来处理错误,所以如果我们出错了,会弹出通知程序,此时,您可以检查控制台并查看错误.
失败时我们的sass任务示例:
对于我们的样式任务,一切正常,但我无法为JS文件完成此任务.
主要是,我不能按照我的意愿制作gulp-jshint.
这将是这样的:你保存你的js文件,如果失败,弹出窗口出现,当你看到这个,你去控制台,你看到jshint-stylish的输出.
有人能帮助我吗?
这是我的(非工作)解决方案:
gulp.task( 'js-hint', function() {
return gulp.src( config.source )
.pipe( plumber() )
.pipe( jshint( config.jsHintRules ) )
.pipe( jshint.reporter( 'jshint-stylish' ) )
.on('error', notify.onError( { message: 'JS hint fail' } ) );
});
显然,我对概念有疑问,那么有人可以请我指出正确的方向吗?
请注意,我只是想一直发出相同的消息“JS提示失败”
然后,控制台(感谢jshint-stylish)将为我们提供更多信息.
此外,这将是一个观察者.
在JS提示传递之后,将执行更多的任务,比如borwserify,所以重要的是如果它停止,“等待”直到我完成修复然后继续.
谢谢 !
PS,Im使用:
吞咽3.8.10
gulp-jshint 1.8.6
gulp-notify 2.0.1
通过OSX 10.9.4
解决方法:
gulp中的错误事件仅在流中发生错误时触发.
要将错误报告器添加到gulp-jshint,请将其传递给fail报告者:
gulp.task('js-hint', function() {
return gulp.src(config.source)
.pipe(plumber())
.pipe(jshint( config.jsHintRules))
.pipe(jshint.reporter('jshint-stylish'))
.pipe(jshint.reporter('fail'))
.on('error', notify.onError({ message: 'JS hint fail'}));
});