javascript - gulp.watch() 不适用于 Jade

标签 javascript node.js gulp pug

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

Jade 任务:

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,因此我将所有监视语句放在 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'])
})

此外,所有其他监视语句都有效,所以我真的不知道发生了什么。感谢您的帮助!

最佳答案

我会尝试两件事。

  1. gulp.src('app/*.jade') 前面添加 return,以便管道知道它已完成(有关更多信息,请参阅 this question这个)
  2. jadegulp.watch 更改为 gulp.watch('app/*.jade', ['jade']).on('更改', browserSync.reload())。我觉得你的方式很奇怪。

我建议你从 Jade 升级到哈巴狗。

关于javascript - gulp.watch() 不适用于 Jade ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41782349/

相关文章:

javascript - jQuery slider 起始位置

node.js - Node - 解析带有合并单元格的 Excel 文件

javascript - 关于node.js的几个问题

gulp - Babel 不会改变装饰器

node.js - 使用 Laravel Mix 合并多个文件

javascript - 将嵌套数组转换为 HTML 结构

javascript - Highcharts 股票图表 Unix 日期格式

javascript - 链接两个 jQuery .load() 请求会导致第二个请求覆盖第一个请求

javascript - Grunt 运行 mocha - 测试失败时中止

gulp - 如何将当前源文件名添加到 gulp-header