ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Node系列 · Express:nodemon

Node系列 · Express:nodemon Node系列 · Expressnodemon开发期每次改完代码都要手动重启 Node 太麻烦——nodemon监听文件改动自动重启让开发效率提升一个档次。一、安装与基础使用npminstall-gnodemon# 全局安装# 或作为开发依赖npminstall-Dnodemon1.1 最简使用# 替代 node 命令nodemon app.js# 指定端口nodemon app.js--port4000nodemon启动后执行app.js监听当前目录及子目录的文件变化文件改了 → 自动重启进程控制台输出[nodemon] restarting due to changes...1.2 监听特定文件nodemon--watchsrc--watchconfig app.js只监听src/和config/目录的变化。1.3 忽略特定目录nodemon--ignorenode_modules--ignore*.test.jsapp.jsnode_modules默认就忽略但日志、构建产物目录需要显式排除。二、配置nodemon.json把配置写到nodemon.json比命令行更可维护{ watch: [src, config], ignore: [src/**/*.test.js, logs], ext: js,json,env, env: { NODE_ENV: development }, exec: node --inspect app.js }配置项含义watch监听哪些目录ignore忽略哪些文件ext触发重启的扩展名env注入环境变量exec实际执行的命令三、package.json 集成{ scripts: { start: node app.js, dev: nodemon app.js, debug: nodemon --inspect app.js } }npmrun dev# 启动 nodemonnpmrun debug# 启动 nodemon 调试模式四、调试模式--inspect配合 Node Inspector / Chrome DevTools 调试nodemon--inspectapp.js[nodemon] starting node --inspect app.js Debugger listening on ws://127.0.0.1:9229/...打开 Chrome DevTools →chrome://inspect即可在浏览器里打断点、看变量。五、--inspectvs--inspect-brk# --inspect启动后立即继续执行断点命中时才停nodemon--inspectapp.js# --inspect-brk启动后第一行就暂停等调试器连上nodemon --inspect-brk app.js--inspect-brk适合代码启动早期就要打断点的情况。六、与 Node 内置--watch对比Node 18 内置--watch也能监听文件变化node--watchapp.js维度nodemonnode --watch内置❌ 第三方✅ 内置配置灵活度高nodemon.json低仅--watch-path多目录监听✅❌单目录自定义扩展名✅❌默认 js/json/mjs调试集成--inspect完整支持需手动加老项目兼容通用Node 18::: tip新项目Node 18可以直接用node --watch少装一个依赖老项目 / 需要复杂配置仍用 nodemon。:::七、最佳实践场景推荐开发期启动nodemon app.js或node --watch app.js调试nodemon --inspect app.js监听多目录nodemon.json的watch数组忽略日志 / node_modulesnodemon.json的ignore注入环境变量nodemon.json的env.NODE_ENV development八、小结nodemon监听文件改动自动重启 Node 进程配置文件nodemon.json比命令行参数更可维护--inspect启动 Node Inspector配合 Chrome DevTools 调试Node 18 可用内置node --watch替代少装依赖大项目用nodemon.json配置监听目录和忽略规则
返回列表