Como importar um barril apenas pelo nome da pasta?
No Angular 2, estou tentando fazer com que os barris funcionem conforme descrito nodocumentação.
O oficialGuia de estilo Angular 2 fala sobre o usobarris agregar e reduzirimport
afirmações.
Estou descobrindo que, para alguns barris, tenho que especificar oindex
Nome de arquivo JavaScript na importação quando não deveria.
(modifique o arquivo app / app.component.ts na linha 12)
Depois de ter encontrado isso no meu projeto real (em execução no ASP.NET), criei umPlunker para demonstrar o problema em que modifiquei o Tour of Heroes para usar barris.
Noapp/app.component
, a maneira básica de importar é assim:
import { HeroService } from './hero.service';
import { HeroesComponent } from './heroes.component';
import { HeroDetailComponent } from './hero-detail.component';
Mas, para usar um barril, a definição de importação ficaria assim:
import {
HeroService,
HeroesComponent,
HeroDetailComponent
} from '../app';
ofrom '../app';
A linha indica um arquivo com o nome deindex.ts
que contêm os componentes exportados / importados:
// app/index.ts
export * from './hero-detail.component';
export * from './hero.service';
export * from './heroes.component';
Mas isso não funciona para mim em todos os casos. A única maneira de fazer isso funcionar corretamente é incluir explicitamente oindex
nome do arquivo:
import {
HeroService,
HeroesComponent,
HeroDetailComponent
} from '../app/index'; // have to indicate 'index'
Como faço para que isso funcione onde oindex.js
nome do arquivo está implícito?