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

Package.json多命令配置问题:React与Node.js服务无法同时启动

解决同时启动客户端和服务端并在独立终端标签页运行的问题

你的start命令用了&&,这是串行执行逻辑——只有前一个命令(init-server)执行完成并退出后,才会执行下一个命令(init-client)。但服务端启动后是常驻进程,不会主动退出,所以客户端永远没机会启动。

一、同时启动两个服务(同终端后台运行)

最通用的跨平台方案是使用concurrently包:

  1. 安装依赖:
npm install concurrently --save-dev
  1. 修改scripts配置:
"scripts": {
  "init-client": "cd ./client && npm start",
  "init-server": "cd ./server && npm run dev",
  "start": "concurrently \"npm run init-server\" \"npm run init-client\""
}

两个服务会在同一个终端内同时输出日志,concurrently默认会添加颜色和命令名前缀,方便区分不同服务的输出。

二、在独立终端标签页启动服务

该需求需要根据你使用的终端系统配置脚本,不同终端打开新标签页的命令存在差异:

情况1:Mac/Linux(Terminal/iTerm2)

利用终端自带的脚本命令打开新标签页:
修改scripts为:

"scripts": {
  "init-client": "cd ./client && npm start",
  "init-server": "cd ./server && npm run dev",
  "start-server-tab": "osascript -e 'tell application \"Terminal\" to do script \"cd '$(pwd)' && npm run init-server\"'",
  "start-client-tab": "osascript -e 'tell application \"Terminal\" to do script \"cd '$(pwd)' && npm run init-client\"'",
  "start": "npm run start-server-tab && npm run start-client-tab"
}

如果是Linux GNOME终端,将osascript命令替换为:

gnome-terminal --tab --title="Server" -- bash -c "cd $(pwd) && npm run init-server; exec bash"

情况2:Windows(PowerShell/CMD)

PowerShell环境下用Start-Process打开新标签页:
修改scripts为:

"scripts": {
  "init-client": "cd ./client && npm start",
  "init-server": "cd ./server && npm run dev",
  "start-server-tab": "start powershell -Command \"cd '$(pwd)' && npm run init-server\"",
  "start-client-tab": "start powershell -Command \"cd '$(pwd)' && npm run init-client\"",
  "start": "npm run start-server-tab && npm run start-client-tab"
}

CMD环境下则使用start命令:

start cmd /k "cd %cd% && npm run init-server"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 00:27:03