Nodemon JavaScript (Node.js) 完整指南:安装、配置与实战

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

Nodemon JavaScript (Node.js) 完整指南:安装、配置与实战

1. 什么是 Nodemon?为什么需要它?

Nodemon 是一款专为 Node.js 开发设计的实用工具,能够自动检测项目文件的变化并重启服务器(或任何 Node.js 应用)。对于使用 Express、Koa、Fastify 等框架的 Web 开发者来说,它是不可或缺的利器。无需在每次修改代码后手动停止和重启服务器,Nodemon 会替你完成这一切——它持续监控文件系统,并在文件保存时自动响应。

Nodemon 的核心目标是加速开发流程。没有它,开发者需要反复执行 Ctrl+C、上箭头、回车等重复操作。有了 Nodemon,整个过程完全自动化。它不仅会重启进程,还能妥善处理前一个实例的终止,释放端口和系统资源。此外,Nodemon 可以忽略特定文件或文件夹(例如 node_modules 或 .git),从而降低 CPU 和磁盘 I/O 负载。

需要明确的是,Nodemon 并非传统意义上的库(如 Lodash 或 Axios),而是一个 CLI(命令行界面)工具。它不适用于在代码中作为模块导入(尽管技术上可通过 API 实现)。其主要用途是通过命令行或 package.json 中的脚本来启动。Nodemon 支持所有主流操作系统(Windows、macOS、Linux),并能与任何版本的 Node.js 配合使用。

2. 安装 Nodemon

Nodemon 通过 npm(Node 包管理器)安装。建议全局安装,或作为项目的开发依赖安装。

全局安装(适用于所有项目):

npm install -g nodemon

本地安装(仅限当前项目):

npm install --save-dev nodemon

本地安装后,你可以通过 npx 运行 Nodemon,或在 package.json 中添加脚本:

{
  "scripts": {
    "dev": "nodemon app.js"
  }
}

然后运行:npm run dev。

3. 快速上手——最小化工作示例

创建一个 app.js 文件,包含一个简单的 HTTP 服务器:

const http = require('http');

const server = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('你好,世界!\n');
});

const PORT = 3000;
server.listen(PORT, () => {
  console.log(`服务器运行在 http://localhost:${PORT}/`);
});

现在启动 Nodemon:

nodemon app.js

你会看到如下输出:

[nodemon] 3.1.0
[nodemon] 随时输入 `rs` 手动重启
[nodemon] 监控路径: *.*
[nodemon] 监控扩展名: js,mjs,cjs,json
[nodemon] 启动 `node app.js`
服务器运行在 http://localhost:3000/

尝试将 res.end() 中的文本改为 '你好,Nodemon!\n' 并保存文件。Nodemon 会自动重启服务器,刷新浏览器页面即可看到更新后的响应。

4. 核心方法/功能/类

Nodemon 既提供 CLI 界面,也提供编程 API。以下是主要方法及示例。

4.1. nodemon([options]) — 编程方式启动

签名: nodemon([options: Object])

功能: 从 Node.js 脚本中以编程方式启动 Nodemon,允许精细调整行为并处理事件。

示例:

const nodemon = require('nodemon');

nodemon({
  script: 'app.js',
  ext: 'js json html',
  ignore: ['node_modules/', 'test/'],
  env: { NODE_ENV: 'development' }
});

推荐