Ответ 1
Из записи архивного глоссария для Barrel
*:
Бочка - это способ объединения экспорта из нескольких модулей в один удобный модуль. Сам ствол представляет собой файл модуля, который реэкспортирует выбранный экспорт других модулей.
Представьте себе три модуля в папке героев:
// 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
Каждый пакет с angular областью имеет бочку с именем index.
См. также Ошибка angular цифрового входа - ИСКЛЮЧЕНИЕ: невозможно разрешить все параметры
* ПРИМЕЧАНИЕ. Barrel
был удален из более поздних версий Angular глоссария.