【发布时间】:2018-07-10 19:03:31
【问题描述】:
我有一个非常基本的 nodemon 配置。我正在修复这个我继承的遗留节点 7 项目,并试图让开发过程有点痛苦。首先,正确的重启和转译过程(因为它是使用 ES6 模块语法构建的)。
这是我的文件夹结构:
- src
|- index.js
- dist
|- index.js
- index.js
- nodemon.js
我以 "start:dev": "nodemon index.js" 运行 nodemon
这是它的内容:
// index.js
if (process.env.NODE_ENV === 'production') {
require('./dist/index.js');
} else {
require('babel-register')({});
require('babel-polyfill');
require('./src/index.js');
}
这个想法是代码在运行时被转译,这样我就不必像以前那样手动停止服务器、重新转译、启动服务器。
最后但同样重要的是,nodemon 配置
// nodemon.js
{
"restartable": "rs",
"ignore": [
".git",
"node_modules/**/node_modules"
],
"verbose": true,
"watch": [
"src"
],
"env": {
"NODE_ENV": "development"
},
"ext": "js json"
}
我从MERN 获取了这个设置,我认为它应该可以工作。但是,当我进行更改并保存时,它会:
[nodemon] files triggering change check: src/index.js
[nodemon] matched rule: /Users/me/project/path/src/**/*
[nodemon] changes after filters (before/after): 1/1
[nodemon] restarting due to changes...
[nodemon] src/index.js
(stuck here. it never restarts)
我一直在检查代码,我唯一不熟悉的可能是我能想到的导致它的原因是 child_process.execFileSync() 调用,它将调用一个 java 工具;和一个带有mysql.createPool()(mysql 包)的连接池。
在 Node 7.5 和 Node 8.9 中都试过了。知道可能出了什么问题吗?
【问题讨论】:
-
这是一个漫长的过程,但你有没有找到解决这个问题的方法?我有同样的问题here。