Барель - це спосіб згорнути експорт з декількох модулів в єдиний модуль зручності. Сама бочка - це файл модуля, який реекспортує вибраний експорт інших модулів.
Уявіть три модулі в папці героїв:
// heroes/hero.component.ts
export class HeroComponent {}
// heroes/hero.model.ts
export class Hero {}
// heroes/hero.service.ts
export class HeroService {}
Без бочки споживачеві потрібні три заяви про імпорт:
import { HeroComponent } from '../heroes/hero.component.ts';
import { Hero } from '../heroes/hero.model.ts';
import { HeroService } from '../heroes/hero.service.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
Тепер споживач може імпортувати те, що йому потрібно з бочки.
import { Hero, HeroService } from '../heroes'; // index is implied
Кожен пакет з кутовим діапазоном має бочку з ім'ям.