我已经阅读了此页面上的ModuleResulution
的描述:
据我了解,我要导入的所有文件都必须在node_modules
目录中。有没有办法导入此目录中未位于此目录中的文件?
假设我有以下目录结构(src/MyApp/
(:
├── Console
│ └── Console.ts
├── Interfaces
│ └── CredentialsInterface.ts
└── Service
├── Authentication.ts
├── Router.ts
└── Connector.ts
然后,例如在我的src/pages/login/login.ts
中,我用它来导入Console.ts
:
import { Console } from '../../MyApp/Console/Console';
,但我想取得这样的成就:
import { Console } from '@MyApp/Console/Console';
其中@MyApp
是src/MyApp
的别名。
由于潜在的文件/文件夹重置或以后进行重构,我可能想替换文件的位置,但是如果有道理,我不想手动浏览所有文件以更改"硬编码"路径,而我知道这对于作曲家等其他工具是可能的。
这是尽可能的吗?预先感谢!
要完成您必须更新几个文件,您可以通过更新tsconfig.json
并扩展WebPack配置文件来完成此操作。
在tsconfig.json
上,您需要添加compilerOptions
:
"baseUrl": "./src",
"paths": {
"app/*": [
"app/*"
],
"@env": [
"environments/environment"
],
"interfaces/*": [
"interfaces/*"
],
"providers/*": [
"providers/*"
],
"validators/*": [
"validators/*"
]
}
我留下了一个简短的文档的链接,我这样做了,并使用angular-cli
离子envs and Beauty Paths