如何通过一条npm start命令启动两个不同的React应用?
同时启动两个React应用的解决方案
你可以通过以下两种方法实现单条npm start命令同时启动两个React应用:
方法一:用concurrently包(推荐)
这是专门为同时运行多个命令设计的工具,配置简单且稳定:
- 在外层目录(两个应用的同级目录)执行
npm init -y初始化npm项目(如果还没的话) - 安装依赖:
npm install concurrently --save-dev - 修改外层目录的
package.json里的start脚本:
"scripts": { "start": "concurrently \"cd my-first-app && $env:PORT=3001 && npm start\" \"cd my-second-app && $env:PORT=3000 && npm start\"" }
执行npm start就能同时启动两个应用,每个应用会在指定端口运行。
方法二:纯PowerShell脚本(无需额外包)
如果你不想安装第三方包,可以直接用PowerShell的Start-Process命令启动新窗口运行每个应用:
修改外层目录的package.json脚本:
"scripts": { "start": "Start-Process powershell -ArgumentList '-NoExit', '-Command', 'cd my-first-app; $env:PORT=3001; npm start'; Start-Process powershell -ArgumentList '-NoExit', '-Command', 'cd my-second-app; $env:PORT=3000; npm start'" }
执行后会自动打开两个PowerShell窗口分别启动对应应用。
你之前脚本失效的原因
- 环境变量语法错误:
export是Linux/macOS的bash语法,PowerShell里设置环境变量要用$env:PORT=xxx - 路径与后台运行逻辑问题:用
&后台运行时,cd命令只对当前后台进程生效,后续的命令路径不对,导致第二个应用无法正确启动。
内容的提问来源于stack exchange,提问作者MaxuwkaPlus
相关产品推荐
相关产品推荐

