2

正如标题所说,我正在使用gulp-nodemon我的 gulp 文件中的模块让 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一般来说?

4

2 回答 2

0

我发现这是一个问题gulp-nodemon。看起来它不会很快得到修复。我建议寻找替代方案。

https://github.com/JacksonGariety/gulp-nodemon/issues/70

于 2015-07-14T20:35:02.940 回答
0

我有一个类似的问题,其中 nodemon 被用作我的“监视”gulp 任务的一部分 - 只运行一次,然后似乎没有跟踪我在此之后所做的任何文件代码更改。

我的 gulp “watch” 任务正在运行单元测试/linting,然后在文件更改上运行构建。

我发现问题实际上出在我的单元测试中,我的导入错误。即我正在导入一个不存在的代码模块。基本上这是一个导入模块错误,似乎被 gulp 吞并,之后 nodemon 停止监视更改。

我通过注释掉代码(从所有测试开始)找到了根本原因,然后将其追踪到导入错误的确切测试文件。在我修复模块导入 nodemon 后完美运行!

总之 - 很可能是代码中的模块导入错误导致 nodemon 以这种方式运行,但错误被 gulp 吞没了。

于 2020-06-29T12:59:12.290 回答