You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用nodemon串联运行多个脚本?执行异常问题求助

解决用nodemon串联执行Angular构建与Node服务的问题

我明白你的痛点——想用nodemon实现「先构建Angular项目,再启动Node服务」的串联执行,还能在文件变化时自动重启,但直接用nodemon run start要么只跑一个命令,要么并行执行,完全不符合预期。下面给你两种靠谱的解决方案,根据你的开发需求选就行:

方案一:每次重启都完整执行构建+启动服务

这种方案适合需要确保每次重启都基于最新完整构建结果的场景,配置起来很直接:

  1. 先调整你的package.json脚本:
"scripts": {
  "build": "ng build",
  "start:server": "node --inspect server.js", // 这里加上--inspect开启调试
  "dev": "nodemon --exec \"npm run build && npm run start:server\" --watch src --watch server.js"
}
  1. 执行命令:
npm run dev

关键说明:

  • --exec参数是核心:告诉nodemon每次重启时,执行后面的串联命令(先跑构建,再启动服务),而不是直接执行某个脚本文件。
  • --watch指定要监视的文件/目录:src是Angular的源码目录,server.js是你的Node服务文件,只要这些内容变化,nodemon就会触发新一轮的构建+重启。

方案二:增量构建+监视输出目录(开发更高效)

如果觉得每次全量构建太慢,可以让Angular自动增量构建,nodemon只监视构建输出目录和服务文件,这样修改前端代码时,Angular会自动更新dist目录,nodemon检测到变化就重启服务:

  1. 调整package.json脚本:
"scripts": {
  "build:watch": "ng build --watch", // 开启Angular增量构建监视
  "start:server": "nodemon --inspect server.js --watch dist --watch server.js", // 监视dist和server.js
  "dev": "npm run build:watch & npm run start:server"
}
  1. 执行命令:
npm run dev

关键说明:

  • ng build --watch会持续运行,自动检测前端代码变化并增量构建到dist目录。
  • 如果Windows系统下&并行执行有问题,可以先安装concurrently包(npm i concurrently -D),然后把dev脚本改成concurrently \"npm run build:watch\" \"npm run start:server\",实现跨平台并行。
  • nodemon监视dist目录,一旦构建输出更新,就自动重启Node服务,同时保留--inspect调试功能。

为什么你之前的方法不行?

当你直接用nodemon run start时,nodemon会把run start当成要执行的「文件」,而不是shell命令,自然没法正确解析你npm start里的串联逻辑。必须用--exec参数明确告诉nodemon要执行的命令串,才能按顺序跑起来。

内容的提问来源于stack exchange,提问作者Pascal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:55:28