Sen*_*ika 7 typescript reactjs tsconfig monorepo nrwl-nx
我正在开发一个@nrwl/nxmonorepo。我想src通过绝对路径导入项目内的文件夹。我尝试指定baseUrl但没有用。唯一有效的解决方案是添加 monorepo 根文件的路径,tsConfig.json如下所示。
"paths": {
"*": ["apps/my-app/src/*"]
}
Run Code Online (Sandbox Code Playgroud)
但是,问题是,如果我有另一个项目,我也必须将该项目添加到此路径中。我尝试了如下。
"paths": {
"*": ["apps/*/src/*"]
}
Run Code Online (Sandbox Code Playgroud)
但是,这不再起作用了。它与项目文件夹名称不匹配。
我该如何解决这个问题?或者,有没有更好的方法通过绝对路径导入?
由于在 nx monorepo 中组织常见的 DTO 和 Event.ts 文件,我面临着同样的问题。我发现使用更简单的路径快捷方式更新 tsconfig.base.json 很有用,它允许跨应用程序导入,同时保留在单个应用程序 tsconfig.json 文件中设置绝对路径的选项。
这是我的 base.json:
"baseUrl": ".",
"paths": {
"libs": [
"libs/"
],
"app1: [
"apps/app1/"
],
"app2": [
"apps/app2/"
],
}
Run Code Online (Sandbox Code Playgroud)
现在我有一种绝对导入,它指向应用程序名称作为基础:
import {CreateUserEvent} from 'libs/events/create-user.event';
Run Code Online (Sandbox Code Playgroud)
这是 app1/src/app/ 文件夹中的一个随机文件,它导入 libs 文件夹中的文件
文件夹结构为:
root ('.')
|__ app1/src/app/file_with_import.ts
|__ ...
|__ ...
|__ libs/events/create_user.event.ts
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你
| 归档时间: |
|
| 查看次数: |
3301 次 |
| 最近记录: |