gulp.watch()不使用玉

时间:2017-01-21 17:28:46

标签: javascript node.js gulp pug

突然间,我的所有jade文件的gulpfile.js监视语句都停止了工作。你知道为什么吗?

玉任务:

gulp.task('jade', function() {
  gulp.src('app/*.jade')
    .pipe(jade())
    .on('error', function(err) {
      console.log(err)
      this.emit('end')
    })
    .pipe(minifyHTML())
    .pipe(gulp.dest('dist/'))
    .pipe(browserSync.stream())
})

我也使用BrowserSync,所以我将所有的watch语句放在serve任务中,如下所示:

gulp.task('serve', ['styles', 'html', 'jade', 'scripts'], function() {
  browserSync.init({
    server: './dist'
  })
  gulp.watch('app/css/**/*.sass', ['styles'])
  gulp.watch('app/*.jade').on('change', function() {
    gulp.run(['jade'])
    browserSync.reload()
  })
  gulp.watch('app/src/*.js', ['scripts'])
})

此外,每个其他观察声明都有效,所以我真的不知道发生了什么。谢谢你的帮助!

2 个答案:

答案 0 :(得分:2)

我会尝试两件事。

  1. return前面添加gulp.src('app/*.jade'),以便管道知道它已完成(有关详细信息,请参阅this question
  2. gulp.watch的{​​{1}}更改为jade。你的方式对我来说似乎很奇怪。
  3. 我建议你从玉升级为哈​​巴狗。

答案 1 :(得分:0)

如果没有代码更改但它突然停止工作,我会检查一些事情。

如果您正在使用node和npm:

  • 您是否在package.json中锁定了依赖项?
  • Jade,Gulp或browserSync是否更新?
  • 最后一次删除所有node_modules文件夹并运行npm install时。
  • 您是否切换过Node版本?