从项目根运行时如何强制 NX 使用项目目录?

问题描述 投票:0回答:1

我有一个包含

client
server
项目的 monorepo。

我的根

project.json

{
  "name": "generic-social-network",
  "targets": {
    "client": {
      "command": "nx dev client"
    },
    "server": {
      "command": "nx dev server --exclude client"
    },
    "undefined": {
      "command": "nx server"
    }
  },
  "title": "generic-social-network"
}

./src/server/project.json

{
  "name": "server",
  "$schema": "../../node_modules/nx/schemas/project-schema.json",
  "title": "server",
  "targets": {
    "undefined": {
      "command": "nx dev server"
    },
    "dev": {
      "command": "nest start --watch"
    },
    "build": {
      "command": "nest build"
    },
...

在根文件夹中,当我运行

npx nx
时,
.
目录解析为根文件夹,而不是我期望的
./src/server

如果我在

nest start --watch
中运行
./src/server
,一切编译都没有问题。

所以,我的问题是,如何告诉 Nest 在 ./src/server 中查找而不是在根级文件夹中查找?

到目前为止,我似乎找不到任何与 SO 相关的内容,但如果有相关或重复的问题,请为我指出正确的方向。

javascript typescript nestjs config nomachine-nx
1个回答
0
投票

您正在使用简写命令语法。如果您使用长格式语法,您可以设置

cwd
属性来告诉 NX 在项目根目录而不是 monorepo 根目录中运行命令。

"dev": {
    "executor": "nx:run-commands",
    "options": {
        "cwd": "src/server",
        "command": "nest start --watch",
    }
}

请参阅文档:https://nx.dev/nx-api/nx/executors/run-commands

© www.soinside.com 2019 - 2024. All rights reserved.