我们每次修改node代码之后都需要重启服务器才能看到最新的效果,nodemon是一个监听node代码文件变化的工具,文件一旦变更,就会自动重启node服务。
#全局安装
npm install -g nodemon
#或者
npm install --save-dev nodemon
package.json配置项
"main": "index.js",
"scripts": {
"start": "nodemon index.js"
},
运行
npm run start
看到如下提示,说明nodemon成功检听
[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 index.js
server is running at http://localhost:3000
====
本人的node服务是安装在虚拟机里面的,而文件是在本机,通过挂载(mount)的方式让虚拟机访问。经测试,上面的nodemon成功启动了,但监听不到文件的变动。
解决方案:在容器中wepack和nodemon热加载失效的问题
也就是说把"start": "nodemon index.js"
改成 "start": "nodemon -L index.js"
即可。
nodemon如果不做配置的话,默认就会监听当前目录下的所有目录和文件,
在package.json的同一级目录下创建nodemon.json
来配置nodemon
nodemon.json文件内容如下:
{
"watch": "server",
"ext": "js html",
"ignore":["test/*",".git"]
}
watch :要监听的目录
ext :要监听文件的后缀
ignore :忽略目录或者文件,也就是不监听这些目录或者文件