这是我参与11月更文挑战的第9天,活动详情查看:2021最后一次更文挑战
在开发环境下,往往需要一个工具来自动重启项目工程,之前接触过 python 的 supervisor,现在写 node 的时候发现 supervisior 在很多地方都有他的身影,node 也有一个 npm 模块 supervisior 也是用来监控进程的,不过除了 supervisior 外,还有很多其他的工具,从 github 的评分上看,比较热门的有 forever,nodemon,node-dev,具体这些工具的区别可以参考这篇文章 Comparison: Tools to Automate Restarting Node.js Server After Code Changes,个人觉得在开发环境还是用 nodemon,因为配置比较方便,文档也很清晰。所以这里先主要讲 nodemon。
查看帮助,帮助里面有很多选项都是一目了然:
nodemon -h 或者 nodemon -help
安装
// 安装
npm install -g nodemon
// 启动node服务
nodemon server.js //相当于node server.js
延迟重启
nodemon -delay10 main.js
nodemon --delay 2.5 server.js
nodemon --delay 2500ms server.js
这个就类似于js函数中的函数节流,只在最后一次更改的文件往后延迟重启.避免了短时间多次重启的局面.
配置文件
{
"verbose": true,
"ignore": ["*.test.js", "fixtures/*"],
"execMap": {
"rb": "ruby",
"pde": "processing --sketch={{pwd}} --run"
}
}
nodemon支持本地和全局配置文件。这些通常是命名的nodemon.json,可以位于当前工作目录或主目录中。可以使用该--config 选项指定备用本地配置文件。
效果图
更新代码之后,红色框框中的内容可以看出来,代码是会自动更新的,这样就可以很好的实现自动重启项目工程