Angular 2 бочки
В Angular 2 я пытаюсь запустить бочки, как описано в документации.
Официальный Angular 2 стиль руководства рассказывает об использовании баррелей для агрегирования и сокращения операторов import
.
Я выясню, что для некоторых баррелей я должен указать имя файла index
JavaScript в импорте, когда мне не нужно.
Пример ствола
(измените файл app/app.component.ts в строке 12)
После того, как вы столкнулись с этим в моем фактическом проекте (работающем под ASP.NET), я создал Plunker, чтобы продемонстрировать проблему, когда я модифицировал Прогулка по героям, чтобы использовать бочки.
В app/app.component
основной способ импорта выглядит так:
import { HeroService } from './hero.service';
import { HeroesComponent } from './heroes.component';
import { HeroDetailComponent } from './hero-detail.component';
Но, чтобы вместо этого использовать бочку, определение импорта будет выглядеть так:
import {
HeroService,
HeroesComponent,
HeroDetailComponent
} from '../app';
Строка from '../app';
указывает файл с именем index.ts
, который содержит экспортированные/импортированные компоненты:
// app/index.ts
export * from './hero-detail.component';
export * from './hero.service';
export * from './heroes.component';
Но это не работает для меня во всех случаях. Единственный способ, которым я правильно работал, - это явно указать имя файла index
:
import {
HeroService,
HeroesComponent,
HeroDetailComponent
} from '../app/index'; // have to indicate 'index'
Как я могу заставить это работать, где подразумевается имя файла index.js
?