angular - 如何为 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';
它按预期工作,但现在我在 some-other-service.ts 中失去了任何 WebStorm 开发支持。WebStorm 似乎无法正确解析别名。
我已经尝试按照某些人的建议将这两个文件夹标记为资源根目录,但这并没有帮助。
我能做些什么来解决另一个目录中文件的分辨率吗?
解决方案
tsc
在命令行中运行时,您将面临同样的问题。Typescript 编译器使用最近tsconfig.*.json
包含的当前文件,从文件 dir 扫描文件夹直到项目根目录。最近的配置文件generated/$ui-services/some-service.service.ts
是tsconfig.json
位于项目根目录中的文件,并且该配置没有定义任何别名,因此 tsc 报告TS2307
错误,并且无法解析成员。将路径映射复制到根配置应该可以解决问题:
"paths": {
"@ui-services/*": ["src/app/$ui-services/*", "generated/$ui-services/*"]
},
推荐阅读
- linux - Ghost博客重定向问题
- android - 主题时,BottomSheetDialogFragment 崩溃
- java - 使用高级 for 循环遍历 2 个列表
- python - Pandas Dataframe:为每个数据框行分配大于或小于值的条件值
- flutter - 无法确定任务 ':app:compileDebugJavaWithJavac' 的依赖关系。当我在模拟器中运行颤振项目时出现这些错误
- php - 通过php删除数据库中的行时出现问题
- svg - 内联 SVG 不仅在 Firefox 上显示
- python - Python创建一个“带有子列表的列表”的数据结构,列表和子列表中的元素数量未知
- spring - Spring WebClient 基于响应体抛出错误
- reactjs - 导入错误:“标题”未从“组件/标题”导出