用 gulp-pug 编译 pug 文件很方便,不过也会出现因 pug 文件中语法出错而编译出错的情况,这时 gulp.watch 就停止了,需要手动重新启动非常的不方便。利用插件 gulp-notify 可以很方便的解决这个问题。
var gulp = require('gulp'),
pug = require('gulp-pug'),
notify = require('gulp-notify');
gulp.task('pug', function(){
return gulp.src('pug/*/*.pug')
// .pipe(plumber())
.pipe( pug({ pretty: true }).on('error', notify.onError( (error) => { return `pug went wrong, ${error}`; } )) )
.pipe(gulp.dest('page'));
});
这样,gulp.watch
进程就不会停止了,还会继续监听 pug 文件的变化。
参考 npmjs.com