Angular2导入快捷方式

Angular2导入快捷方式,angular,typescript1.8,Angular,Typescript1.8,我正在用angular 2和webpack开发一个应用程序。我想知道,有没有一种方法可以为导入创建快捷方式?我的意思是,有时我需要从层次结构中的文件夹中导入组件,因此我最终会执行类似的操作 import { UserComponent } from '../../../models/users/user.ts'; 理想情况下,我只想做: import {UserComponent} from '@models/users/user.ts'; 或者更短的。有没有办法创建快捷方式 谢谢我知道这个

我正在用angular 2和webpack开发一个应用程序。我想知道,有没有一种方法可以为导入创建快捷方式?我的意思是,有时我需要从层次结构中的文件夹中导入组件,因此我最终会执行类似的操作

import { UserComponent } from '../../../models/users/user.ts';
理想情况下,我只想做:

import {UserComponent} from '@models/users/user.ts';
或者更短的。有没有办法创建快捷方式


谢谢

我知道这个问题已经很多很多年了,我们有7个问题,但如果有人有同样的问题,这里有一个答案

您可以在文件
tsconfig.json
中配置路径映射

例如:假设我们有以下文件夹结构:

├── app
│   ├── app.component.html
│   ├── app.module.ts
│   ├── ...
│   └── shared
│       └── material
│           └── material.module.ts
...
...
我想在文件夹
shared
中添加一个“快捷方式”。因此,我在
tsconfig.json
文件的
编译器选项中添加了
“@shared/*”:[“app/shared/*”]

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./src",
    "paths": {
      "@shared/*": ["app/shared/*"]
    },
   // ... and so on

现在我可以像这样导入共享模块:

import { MaterialModule } from '@shared/material/material.module';
希望这对别人有帮助


有关详细信息,请参见。

TS所拥有的baseUrl的可能副本。使用任何预处理器来创建快捷方式都会导致失去IDE的支持,这是人们最不希望看到的。