我有一个非常基本的nodemon配置。我正在修复我继承的遗留节点7项目,并试图让开发过程有点痛苦。首先,正确的重启和转换过程(因为它是使用ES6模块语法构建的)。
这是我的文件夹结构:
- src
|- index.js
- dist
|- index.js
- index.js
- nodemon.js
我运行nodemon作为"start:dev": "nodemon index.js"
这是它的内容:
// 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中都尝试过。什么可能是错的?
类型:ps aux | grep节点或ps aux | grep端口(例如3000)
并找到进程复制其进程ID然后键入终端kill -KILL进程Id
它将强制停止您的进程而不是再次启动服务器
尝试执行
npm -g uninstall nodemon
然后
npm -g install nodemon
这为我解决了这个问题。
我正在使用窗口10,我在意外删除了我的%PATH%变量后遇到了这个问题。如果是这种情况,请尝试添加这三个路径:
C:\ WINDOWS; C:\ Windows \ System32下; C:\ WINDOWS \ SYSTEM32 \ WBEM;
检查您是否将代码放在没有写入权限的位置。 (特别是谁放在桌面上)如果没有,请将文件夹移动到具有写入权限的其他地方。或者更改文件夹权限。