正如我在THIS问题中向我解释的那样(顺便说一句,谢谢),我可以使用TS配置文件提供baseUrl
和paths
,以便能够减少无意义的路径,例如../../../../someModule
更短的别名版本,例如@AliasPath/someModule
。所以,我修改了我的tsconfig.app.json
(请注意,我修改了.app.json配置文件,而不是根文件夹中的主tsconfig.json)文件,其中包含以下行:
....
"baseUrl": "./",
....
"paths": {
"@services/*" : ["app/services/*", "src/app/services/*"]
}
在代码中我尝试通过以下方式导入一个服务:
import { CommunicationService } from "@services/communication.service";
项目正在建设中,但TypeScript无法识别我定义的路径别名,用红色波浪线标记它们:
并在问题标签中报告丢失的文件:
问题是,我如何指导TypeScript(因为我认为它是TypeScript问题)关于我的路径别名?
答案 0 :(得分:1)
这似乎是VS Code的问题,例如,您可以在以下链接上看到(这是其中之一): VSCode ignores paths in tsconfig.app.json
但是我发现了一个解决方法,因为我遇到了同样的问题。我刚刚安装了扩展 TypeScript Importer 。这为我解决了。
答案 1 :(得分:1)
从TypeScript 3.1开始,paths
配置必须位于名为tsconfig.json
的文件中。如果它位于tsconfig.app.json
中,则不会被vscode拾取(但是tsc -p tsconfig.app.json
显然可以工作)。
要确保TS文件是右侧tsconfig
的一部分,请在VS Code中运行TypeScript: Go to project configuration
命令。这应该打开设置了paths
的tsconfig