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

如何用单条命令启动多目录下的Node.js项目服务及热重载?

如何用单条命令启动多个Node.js项目服务器?

当然可以,这里提供两种实用方案,适配不同场景:

方案一:使用concurrently npm包(Node生态首选)

这是最便捷的方式,专门用于并行执行多个命令,还能自动区分不同进程的日志:

  1. 在主文件夹下初始化npm(未初始化的话):
    npm init -y
    
  2. 安装依赖:
    npm install concurrently --save-dev
    
  3. 编辑主文件夹的package.json,在scripts字段添加启动命令:
    "scripts": {
      "start:all": "concurrently \"cd 'Project 1' && npm start\" \"cd 'Project 2' && npm start\" \"cd 'Project 3' && npm start\" \"cd 'Project 4' && npm start\""
    }
    
  4. 执行单条命令启动所有服务器:
    npm run start:all
    
    每个项目的nodemon热重载会正常工作,控制台会用不同颜色标记每个项目的日志输出。

方案二:使用Shell脚本(原生无依赖)

如果你偏好无额外依赖的方式,可以写个脚本批量启动:

Mac/Linux 版本

在主文件夹创建start-all.sh文件,内容如下:

#!/bin/bash
# 后台启动每个项目的服务器
cd "Project 1" && npm start &
cd "../Project 2" && npm start &
cd "../Project 3" && npm start &
cd "../Project 4" && npm start &
# 等待所有进程启动
wait

给脚本添加执行权限:

chmod +x start-all.sh

启动命令:

./start-all.sh

Windows 版本

在主文件夹创建start-all.bat文件,内容如下:

start cmd /k "cd Project 1 && npm start"
start cmd /k "cd Project 2 && npm start"
start cmd /k "cd Project 3 && npm start"
start cmd /k "cd Project 4 && npm start"

直接双击该bat文件,或在命令行中运行它,会自动打开4个独立的命令窗口分别运行各项目服务器。

注意事项

  • 确保每个子项目的package.json中start命令已配置好对应端口(比如通过PORT=3001 nodemon app.js或代码内指定)
  • concurrently方案会将所有日志集中输出在同一个控制台,适合快速查看;脚本方案会拆分到独立窗口,日志更清晰,可根据需求选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 19:06:16