Ionic 2在“node_modules”之外的动态导入
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ionic 2在“node_modules”之外的动态导入相关的知识,希望对你有一定的参考价值。
我在这个页面上读过ModuleResulution
for typescript的描述:https://www.typescriptlang.org/docs/handbook/module-resolution.html#node
据我所知,我要导入的所有文件必须在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
的别名。
由于潜在的文件/文件夹重定位或稍后重构我可能想要替换我的文件的位置,但我不想手动遍历所有文件以更改“硬编码”路径,如果这是有道理的,我知道一个事实上,这对其他工具如Composer是可能的。
这有可能吗?提前致谢!
要做到这一点,你必须更新几个文件,你可以通过更新tsconfig.json
并扩展webpack配置文件来完成。
在tsconfig.json
你需要添加compilerOptions
:
"baseUrl": "./src",
"paths": {
"app/*": [
"app/*"
],
"@env": [
"environments/environment"
],
"interfaces/*": [
"interfaces/*"
],
"providers/*": [
"providers/*"
],
"validators/*": [
"validators/*"
]
}
我留下了一个链接到我所做的简要文档,它实现了这个,并使用了angular-cli
的环境
以上是关于Ionic 2在“node_modules”之外的动态导入的主要内容,如果未能解决你的问题,请参考以下文章
Ionic/Cordova - 为啥在提交 git 时忽略 node_modules?
Ionic3:从 node_modules 导入 css 的最佳方式
Ionic2 Angular2 Typescript 模块 - 类型提示问题