如何在 WebStorm 中解析多个源目录的 tsconfig.app.json 中的别名



我在src目录之外生成了一些源文件。 结构为:

- project
- generated
- $ui-services
some-other.service.ts
- src
- app
- $ui-services
some.service.ts

在tsconfig.app.json中,我指定:

"compilerOptions": {
...
"paths": {
...
"@ui-services/*": ["app/$ui-services/*", "../generated/$ui-services/*"],
...
}
},
"include": [
"./**/*.ts",
"../generated/**/*.ts"
]

在SomeOtherService中,现在我可以像这样导入SomeService:

import {SomeService} from '@ui-services/some.service';

它按预期工作,但现在我在其他服务.ts中失去了任何WebStorm开发支持。WebStorm 似乎无法正确解析别名。

我已经尝试将两个文件夹标记为资源根,正如某些人建议的那样,但这没有帮助。

我能做些什么来修复其他目录中文件的分辨率?

在命令行中运行tsc时,您将面临同样的问题。Typescript 编译器使用当前文件包含的最接近tsconfig.*.json,扫描从文件目录到项目根目录的文件夹。generated/$ui-services/some-service.service.ts最近的配置文件是位于项目根目录中的tsconfig.json文件,此配置未定义任何别名,因此 tsc 报告TS2307错误,并且无法解析成员。 将路径映射复制到根配置应该可以解决此问题:

"paths": {
"@ui-services/*": ["src/app/$ui-services/*", "generated/$ui-services/*"]
},

最新更新