簡體   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