使用 Barrel

例如,没有 Barrel,消费者需要三个 import 语句:

import { HeroComponent } from '../heroes/hero.component.ts';                                
import { Hero }          from '../heroes/hero.model.ts';                                      
import { HeroService }   from '../heroes/hero.service.ts';

我们可以通过在同一个组件文件夹中创建文件来添加 Barrel。在这种情况下,该文件夹名为 heroes,名为 index.ts(使用约定),导出所有这些项:

export * from './hero.model.ts';   // re-export all of its exports
export * from './hero.service.ts'; // re-export all of its exports                           
export { HeroComponent } from './hero.component.ts'; // re-export the named thing

现在,消费者可以从 Barrel 中导入所需的东西。
import { Hero, HeroService } from '../heroes/index';

不过,这可能会成为一个很长的路线; 这可以进一步减少。

import * as h from '../heroes/index';

这已经相当减少了! * as h 将所有模块和别名导入为 h