1. 为什么我们需要 nodemon?
作为一名长期使用 Node.js 开发的工程师,我深刻理解手动重启服务的痛苦。想象一下,你正在调试一个复杂的 API 接口,每次修改代码后都要:
- 按下 Ctrl+C 终止进程
- 重新输入 node app.js 启动服务
- 刷新浏览器查看效果
这种重复操作不仅浪费时间,更打断了开发者的思路流。而 nodemon 正是为解决这个问题而生,它通过监控文件系统的变化,自动帮你完成重启流程。
注意:虽然 nodemon 主要用于开发环境,但千万不要在生产环境使用它。生产环境应该使用 PM2 等专业进程管理工具。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 安装与基础配置
2.1 安装方式选择
全局安装 vs 项目本地安装,这是个值得讨论的问题:
bash复制# 全局安装(适合个人开发机)
npm install -g nodemon
# 项目本地安装(推荐团队协作)
npm install --save-dev nodemon
我强烈推荐后者,原因有三:
- 版本控制:每个项目可以锁定特定 nodemon 版本
- 协作友好:团队成员无需额外安装
- 一致性:CI/CD 流程不会因全局依赖差异而出错
2.2 启动命令的演进
从原始命令到优化方案:
bash复制# 基础用法
nodemon app.js
# 现代项目推荐用法(利用npx)
npx nodemon src/main.js
# 更专业的做法:配置package.json
{
"scripts": {
"dev": "nodemon src/main.js",
"debug": "nodemon --inspect src/main.js"
}
}
3. 高级配置实战
3.1 配置文件详解
nodemon 支持多种配置方式,我的项目通常采用 nodemon.json:
json复制{
"watch": ["src/", "config/"],
"ignore": ["src/test/", "*.spec.js"],
"ext": "js,json,graphql",
"delay": "1000",
"env": {
"NODE
