TypeScript 自定义路径在没有桶装的情况下不起作用



我整个上午都在 ts 路径上度过,以缩短我的导入路径。

如果您设置桶化,我可以确认自定义路径有效(索引文件导出您的模块(

root
├── client
│   ├──tsconfig.json
│   ├── src
│       ├──app
│           ├── shared
│               ├── services
│                   ├── some.service.ts
├── common
│   ├── index.ts // exports * from each file

我的NG8 tsconfig.ts文件:

"compilerOptions": {
"baseUrl": ".",
"paths": {
"@common": ["../common"], // works with barreling
"@services": ["./src/app/shared/services"] // only works with barreling
},

@services不起作用...除非我设置桶(
在带有export * from './some.service';的文件夹中shared添加一个index.ts文件(

@common开箱即用,因为如上所述

。我是否遗漏了某些内容,或者我阅读的所有内容都遗漏了以这种方式导出模块的要求?

我的研究:
https://angularfirebase.com/lessons/shorten-typescript-imports-in-an-angular-project/
https://www.typescriptlang.org/docs/handbook/module-resolution.html#path-mapping
如何在 tsconfig.json 中使用路径?
更多...

使用您拥有的设置(没有桶index.ts文件(,您的路径需要略有不同。

"paths": {
"@services/*": ["src/app/shared/services/*"],
},

然后,您将能够使用以下方法导入:

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

相关内容

  • 没有找到相关文章

最新更新