在编写调试Node.js项目,修改代码后,需要频繁的手动close掉,然后再重新启动,使用nodemon
这个工具,它的作用是监听代码文件的变动,当代码改变之后,自动重启。个人觉得类似VUE Angular的热加载功能。
nodemon官网:https://github.com/remy/nodemon
1.配置nodemon npm install nodemon
下载:npm install nodemon
注意,这时候可能会出现npm,报错:rollbackFailedOptional: verb npm-session
这个问题只要更换npm镜像就可以解决,执行:npm config set registry http://registry.npm.taobao.org/
(如果要发布自己的镜像需要修改回来 npm config set registry https://registry.npmjs.org/)
然后就安装成功了。
2.修改启动命令,配置package.json
{
"name": "node-demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "nodemon src/app.js",
"start node": "nodemon src/app.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"nodemon": "^2.0.2"
}
}
这样执行npm start,node就会自动监听app.js文件的变化
3.通过增加 nodemon.json配置指定watch的文件
配置package.json,只能监听app.js,如果文件多的话,可以用配置文件制定监听的文件路径,这样路径下的文件只要改动都可以被监听。
在src下创建nodemon.json,写入:
{
"watch":["./src/**/*.*"]
}
重新启动npm start,会再控制台发现如下log:
[nodemon] 2.0.2
[nodemon] to restart at any time, enter `rs`
[nodemon] watching dir(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node src/app.js`
也就是现在watching的是*/*文件夹下的所有文件。
一个小demo,可以下下来启动看看效果:https://github.com/Menhulu/nodemon-demo.git