使用 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