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

如何让npm start后台并行运行json-server与react-scripts?

解决npm start同时并行运行json-server和react-scripts的问题

问题原因

你之前的配置在Windows环境下无效,核心原因是:

  • 单个&在Windows cmd中仅用于分隔顺序执行的命令,无法让json-server后台运行,它会一直占用终端,导致后续的react-scripts无法启动。
  • prestart脚本会阻塞直到执行完成,但json-server是常驻进程,永远不会结束,因此start脚本永远不会被触发。

推荐解决方案:使用concurrently工具

这是前端项目中并行运行多个脚本的标准方案,无需依赖系统命令的差异:

  1. 安装依赖
npm install concurrently --save-dev
  1. 修改package.json的scripts配置
"scripts": {
  "start": "concurrently \"json-server --watch ../sample-db.json --port 3010 --delay 800\" \"set HTTPS=true&&react-scripts start\""
}
  • 引号用于包裹每个独立的命令,确保concurrently能正确识别两个任务。
  • 如果需要跨平台兼容(同时支持Windows/macOS/Linux),可以用cross-env替换set来统一设置环境变量:
    先安装cross-env:npm install cross-env --save-dev
    再修改脚本:
    "start": "concurrently \"json-server --watch ../sample-db.json --port 3010 --delay 800\" \"cross-env HTTPS=true react-scripts start\""
    

无依赖替代方案(Windows专属)

如果你不想额外安装包,可以用Windows的start命令让json-server在新窗口后台运行:

"scripts": {
  "start": "start \"JSON Server\" json-server --watch ../sample-db.json --port 3010 --delay 800 && set HTTPS=true&&react-scripts start"
}

这种方式会弹出单独的命令行窗口运行json-server,主窗口运行react-scripts。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 19:56:09