当与gulp watch绑定并重启两次以上时,Nodemon崩溃了

时间:2017-09-25 04:07:08

标签: node.js webpack gulp gulp-watch nodemon

我正在尝试使用单个gulp命令使我的进程(webpack,nodemon-restart)工作。这很好用。但是,如果webpack的任务与gulp的默认任务(与nodemon一起)或嵌入了nodemon的gulp任务,webpack只构建一次。

然后我决定将webpack构建任务和nodemon重启任务绑定到gulp的监视命令,这可以按我想要的方式工作,除非你进行更改并保存两次以上,app nodemon崩溃了并在控制台中打印此错误

"/home/nnanyielugo/Workspace/activity-calendar/node_modules/nodemon/lib/monitor/match.js:132
  var rules = monitor.sort(function (a, b) {
                     ^
    TypeError: Cannot read property 'sort' of undefined"

作为一个解决方案,我尝试使用.on()方法将webpack构建任务绑定到nodemon restart,而是重新启动重建(nodemon重新启动,webpack构建,nodemon再次重启,webpack)重建,等等。)

有人有解决方案吗?`

以下是我的代码`

的示例



var gulp = require('gulp'),
    nodemon = require('gulp-nodemon'),
    webpack = require('webpack-stream');


gulp.task('default', ['watch']);

gulp.task('webpack', function() {
    return gulp.src('src/entry.js')
    .pipe(webpack(require('./webpack.config.js')))
    .pipe(gulp.dest('./public'));
});

gulp.task('nodemon', function () {
    return nodemon({
      script: 'app.js'
    , ext: 'js html'
    , env: { 'NODE_ENV': 'development' }
    })    
}) 

gulp.task('watch', function(){
    gulp.watch(['./api/**/*.js', './server/**/*.js', './*.js'],  ['webpack', 'nodemon']);
})`




1 个答案:

答案 0 :(得分:0)

我猜,您的nodemongulp's监视任务会相互冲突。您应该使用nodemon并依靠gulp开始申请。

否则,您可以摆脱gulp's观看任务,并在nodemon的{​​{1}}方法中添加相关脚本,

restart

希望这有帮助!