【问题标题】:How to import absolute paths in a @nrwl/nx monorepo?如何在@nrwl/nx monorepo 中导入绝对路径?
【发布时间】:2022-06-16 15:11:42
【问题描述】:

我正在开发一个 @nrwl/nx monorepo。我想通过绝对路径导入项目src 中的文件夹。我尝试指定baseUrl,但没有奏效。唯一可行的解​​决方案是,将路径添加到 monorepo 根 tsConfig.json 文件,如下所示。

"paths": {
   "*": ["apps/my-app/src/*"]
}

但是,问题是,如果我有另一个项目,我将不得不将该项目也添加到此路径中。我尝试了以下方法。

"paths": {
   "*": ["apps/*/src/*"]
}

但是,这不再起作用了。它与项目文件夹名称不匹配。

我该如何解决这个问题?或者,有没有更好的方法通过绝对路径导入?

【问题讨论】:

  • 建议:这是一道 TypeScript 配置问题。也许您可以更改标题并更具体地说明项目的文件结构,它可能会引起更多关注。

标签: reactjs typescript tsconfig monorepo nrwl-nx


【解决方案1】:

由于在 nx monorepo 中组织了常见的 DTO 和 Event.ts 文件,我面临同样的问题。我发现使用更简单的路径快捷方式更新 tsconfig.base.json 很有用,它允许跨应用程序导入,同时保留在单个应用程序 tsconfig.json 文件中设置绝对路径的选项。

这是我的 base.json:

"baseUrl": ".",
"paths": {
  "libs": [
    "libs/"
  ],
  "app1: [
    "apps/app1/"
  ],
  "app2": [
    "apps/app2/"
  ],
}

现在我有一种以应用名称为基础的绝对导入:

import {CreateUserEvent} from 'libs/events/create-user.event';

这是 app1/src/app/ 文件夹中的一个随机文件,用于导入 libs 文件夹中的文件

文件夹结构为:

root ('.') 
|__ app1/src/app/file_with_import.ts
|__ ... 
|__ ...
|__ libs/events/create_user.event.ts

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2021-09-28
    • 2019-11-10
    • 2022-08-17
    • 2018-05-26
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 2020-05-28
    • 1970-01-01
    相关资源
    最近更新 更多