繁体   English   中英

如何在@nrwl/nx monorepo 中导入绝对路径?

[英]How to import absolute paths in a @nrwl/nx monorepo?

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

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

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

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

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

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

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

这是我的基础。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

希望能帮助到你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM