正如标题所说,我在我的gulp文件中使用gulp-nodemon
模块让nodemon在检测到文件更改时重新启动我的服务器:
gulp.task('default', function() {
nodemon({ script: 'dist/server/main.js',
tasks: ['server', 'bundle', 'css', 'ejs'],
ext: 'ejs js json'
}).on('restart', function() {
console.log('Restarted!');
});
});
我列出的所有任务都是基本构建任务。当我更改文件时,服务器将重新启动,但将来的更改将被忽略:
更重要的是,如果我中断进程(CTRL+C
),nodemon会显示重启消息,就像2个实例同时运行一样:
我对gulp-nodemon
做错了什么?或者只是gulp
?
答案 0 :(得分:0)
我发现这是gulp-nodemon
的问题。它似乎不会很快得到修复。我建议寻找替代方案。
答案 1 :(得分:0)
我遇到了一个类似的问题,其中nodemon用作我的“监视” gulp任务的一部分-仅运行一次,然后似乎没有跟踪我在此之后所做的任何文件代码更改。
我的“监视”任务是运行单元测试/启动,然后运行基于文件更改的构建。
我发现问题实际上出在我的单元测试中,我的导入错误。即我正在导入一个不存在的代码模块。基本上,这是一个导入模块错误,似乎被gulp吞没了,nodemon之后停止监视更改。
我通过注释掉代码(从所有测试开始)找到了根本原因,然后将其追溯到具有错误导入的确切测试文件。在修复模块导入节点之后,monmon工作得非常好!
总而言之-您的代码中最有可能是模块导入错误,导致nodemon以这种方式运行,但该错误已被gulp吞没了。