Цикл - это способ объединения экспорта из нескольких модулей в один удобный модуль. Сам ствол представляет собой файл модуля, который повторно экспортирует выбранные экспортные данные других модулей.
Представьте себе три модуля в папке героев:
// 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';
Мы можем добавить бочку в папку героев (называемую по соглашению index), которая экспортирует все эти элементы:
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
Каждый пакет с ограниченным объемом Angular имеет баррель с именем index.