我正在尝试使用一个gulp命令来使我的进程(webpack,nodemon-restart)工作。这足够好用了。然而,如果其任务绑定到gulp的默认任务(与nodemon一起),或者嵌入了nodemon的gulp任务,则webpack只构建一次。
然后我决定将webpack构建任务和nodemon重启任务都绑定到gulp的watch命令上,这就是我想要的工作方式,除了如果您进行更改并保存两次以上,应用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构建任务与节点重新启动绑定在一起,结果却得到了重新启动重建的无限循环(节点首先重新启动,webpack构建,再次重新启动,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']);
})`
发布于 2017-09-25 14:02:45
我猜,您的nodemon和gulp's监视任务相互冲突。你可以选择使用nodemon并依赖gulp来启动你的应用程序。
或者,您可以摆脱gulp's监视任务,并将相关脚本添加到nodemon的restart方法中,如下所示:
nodemon({
// script goes here.
}).on('restart', your_reload_logic)希望这能有所帮助!
https://stackoverflow.com/questions/46397471
复制相似问题