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

如何在Nx monorepo根目录运行时指定Nest使用server项目目录?

解决Nest在Nx Monorepo中工作目录错误的问题

问题核心是Nx默认在根目录执行目标命令,导致Nest找不到server目录下的配置与源码。以下是两种直接可行的解决方式:

方案1:指定命令执行的工作目录

修改./src/server/project.json中的dev和build目标,添加cwd字段指定命令的执行目录为server项目根目录:

{
  "name": "server",
  "$schema": "../../node_modules/nx/schemas/project-schema.json",
  "title": "server",
  "targets": {
    "undefined": {
      "command": "nx dev server"
    },
    "dev": {
      "command": "nest start --watch",
      "cwd": "./src/server"
    },
    "build": {
      "command": "nest build",
      "cwd": "./src/server"
    },
    // 其他目标配置...
  }
}

配置后,执行nx dev server时,Nx会自动切换到./src/server目录再运行Nest命令,和你直接在该目录执行nest start --watch的效果完全一致。

方案2:在Nest命令中指定项目路径

如果不想修改工作目录,也可以直接在Nest命令中指定项目的配置文件路径:

"dev": {
  "command": "nest start --watch --project ./src/server"
}

或者直接指定tsconfig文件路径:

"dev": {
  "command": "nest start --watch --tsconfig ./src/server/tsconfig.app.json"
}

另外,根目录project.json里的server目标可简化为:

"server": {
  "command": "nx dev server"
}

无需额外添加--exclude client(除非有特定依赖排除需求)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 14:03:10