Nodemo使用学习

Nodemon 是一个用于 Node.js 开发的工具,它的核心目的是监控文件变化并自动重启应用,从而极大提升开发效率。

使用目的

在 Node.js 开发过程中,每次修改代码后都需要手动停止并重新启动应用才能看到效果。Nodemon 解决了这个痛点,它通过监听项目目录中的文件(如 .js、.json、.mjs 等)变化,一旦检测到文件被保存,就会自动重启你的 Node.js 应用。这样开发者就可以专注于编写代码,而无需频繁地在终端中执行 node app.js。

主要优势:

  • 提升开发效率:无需手动重启,保存即生效。
  • 减少操作步骤 :告别重复的 Ctrl+C → node ... 流程。
  • 支持自定义配置:可指定监听的文件类型、忽略的目录、延迟重启时间等。

安装方法

Nodemon 可以通过 npm 或 yarn 全局安装,也可以作为项目的开发依赖安装。
全局安装(推荐,方便在任何项目中使用):

bash 复制代码
npm install -g nodemon

或

bash 复制代码
yarn global add nodemon

作为项目开发依赖安装:

bash 复制代码
npm install --save-dev nodemon

或

bash 复制代码
yarn add -D nodemon

安装完成后,可以通过 nodemon -v 检查版本,确认安装成功。

基本操作步骤

假设你有一个入口文件为 app.js 的 Node.js 应用。

  1. 启动应用
    在项目根目录下,原本使用 node app.js 启动应用,现在只需将 node 替换为 nodemon:

    bash 复制代码
    nodemon app.js
    // 如果是安装到项目里面的执行 yarn nodemon app.js

    控制台会输出类似以下信息,表示 Nodemon 已启动并开始监听:

    复制代码
    [nodemon] 3.1.9
    [nodemon] to restart at any time, enter `rs`
    [nodemon] watching path(s): *.*
    [nodemon] watching extensions: js,mjs,json
    [nodemon] starting `node app.js`
    Server is running on port 3000...
  2. 修改并保存代码
    现在,你可以随意编辑 app.js 或项目中的其他被监听的文件。保存文件后,观察终端,你会看到 Nodemon 自动检测到变化并重启应用:

    复制代码
    [nodemon] restarting due to changes...
    [nodemon] starting `node app.js`
    Server is running on port 3000...

    你的应用已经以最新的代码重新运行了。

  3. 手动重启
    如果需要手动重启应用(例如环境变量变了但文件没改),在运行着 Nodemon 的终端里直接输入 rs 然后按回车即可。

    复制代码
    rs
    [nodemon] starting `node app.js`
  4. 停止 Nodemon
    在终端中按下 Ctrl+C,即可停止 Nodemon 和你的应用。

常用配置与高级用法

Nodemon 的行为可以通过命令行参数或配置文件(nodemon.json)进行定制。
常用命令行参数:

  • --ext:指定监听的文件扩展名,例如 nodemon --ext js,json app.js
  • --ignore:忽略特定的文件或目录,例如 nodemon --ignore logs/ app.js
  • --delay:设置文件更改后重启的延迟时间(秒),例如 nodemon --delay 2.5 app.js
  • --exec:指定执行命令,例如用 ts-node 运行 TypeScript:nodemon --exec ts-node app.ts
    使用配置文件 (nodemon.json):
    在项目根目录创建 nodemon.json 文件,可以更清晰地管理配置。
json 复制代码
{
  "watch": ["src/", "config/"],
  "ignore": ["src/**/*.spec.js", "node_modules/"],
  "ext": "js,json,ts",
  "exec": "node app.js",
  "env": {
    "NODE_ENV": "development"
  }
}

创建配置文件后,只需运行 nodemon 即可。

在 package.json 中配置脚本

一种更常见的做法是在 package.json 的 scripts 字段中配置 Nodemon 启动命令。

json 复制代码
{
  "scripts": {
    "start": "node app.js",
    "dev": "nodemon app.js"
  }
}

这样,开发时只需运行 npm run dev 或 yarn dev 即可启动带热重载的开发服务器。

总结

Nodemon 是 Node.js 开发者必不可少的效率工具。它通过简单的 nodemon app.js 命令,将开发者从手动重启的繁琐操作中解放出来,实现了真正的"保存即预览"。结合配置文件或 npm scripts,可以轻松适配各种复杂的项目结构和工作流。

相关推荐
叼烟扛炮1 小时前
Linux 学习笔记(五十八):IO 多路复用封神——epoll 底层原理揭秘
linux·运维·服务器·网络·笔记·学习·php
Dream-Y.ocean2 小时前
鸿蒙PC平台逻控 PLC 编辑器适配实战:基于 Electron 壳方案的纯 JavaScript 梯形图编程与仿真引擎开发
javascript·编辑器·harmonyos
Z21-X9 小时前
云原生运维学习笔记:容器技术的演进、底层原理与 Docker 全生命周期管理
运维·笔记·学习·云原生
Rabitebla17 小时前
【Linux 底层原理】进程(十):进程等待详解---从僵尸进程到 wait、waitpid 与 status
linux·c++·笔记·学习·visual studio
无心水1 天前
24、系统架构师论文写作专题 核心考点与学习笔记
笔记·学习·系统架构·架构师·安全架构·软考架构师·软考系统架构设计师
蒸蒸yyyyzwd1 天前
邓明 Agent 系统面试-意图识别学习笔记
笔记·学习
La Pulga1 天前
【FreeRTOS源码学习笔记】空闲任务与阻塞延时
笔记·mcu·学习·嵌入式·freertos·实时操作系统
蒸蒸yyyyzwd1 天前
秋招学习笔记 day106
笔记·学习
小李不想当小白1 天前
WDG看门狗(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
NextTech_1 天前
不想学 vim,怎么改服务器上的配置文件?
服务器·编辑器·vim