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

NX monorepo中run-many按顺序运行应用失败:API启动后前端无法启动

解决NX Monorepo中顺序运行serve目标卡住的问题

问题原因

nx run-many -t serve -p api frontend --parallel=false 无法启动前端的核心原因是:serve 是长期运行的开发服务器进程,--parallel=false 会等待第一个任务(api:serve)完全结束后才执行第二个任务,但api的开发服务器会一直运行不会自动终止,导致前端任务永远无法被触发。

可行解决方案

方案1:利用Shell后台运行(Linux/macOS)

直接让API的serve进程后台运行,然后立即启动前端:

nx serve api & nx serve frontend
  • 停止服务时,可通过 pkill -f "nx serve" 杀掉所有相关进程,或单独通过进程ID终止。

方案2:Windows平台后台运行

  • CMD命令:
start /B nx serve api && nx serve frontend
  • PowerShell命令:
Start-Process nx -ArgumentList "serve api" -NoNewWindow -PassThru; nx serve frontend

方案3:通过NX配置实现依赖启动(跨平台)

在前端项目的 project.json 中配置目标依赖,让前端的serve任务依赖API的serve任务,并设置为并行启动(确保API先启动,且不等待其终止):

  1. 打开 apps/frontend/project.json,修改 serve 目标:
{
  "targets": {
    "serve": {
      "dependsOn": [
        {
          "target": "serve",
          "project": "api",
          "type": "parallel"
        }
      ],
      // 保留原有的serve配置(比如builder、options等)
    }
  }
}
  1. 执行以下命令,NX会自动先启动API的serve,再启动前端的serve:
nx serve frontend

内容的提问来源于stack exchange,提问作者Игор Ташевски

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 09:45:58