Wie importiere ich ein Fass nur nach Ordnernamen?
In Angular 2 versuche ich, Fässer zum Laufen zu bringen, wie im @ beschriebeDokumentatio.
Das offizielleAngular 2 Styleguide spricht über die Verwendung vonFässe zu aggregieren und zu verkürzenimport
Anweisungen.
Ich finde heraus, dass ich für einige Fässer das @ angeben muindex
JavaScript-Dateiname beim Import, wenn ich nicht muss.
(Ändern Sie die Datei app / app.component.ts in Zeile 12)
Nachdem ich dies in meinem aktuellen Projekt festgestellt habe (das unter ASP.NET ausgeführt wird), habe ich ein @ erstell Plunker um das Problem zu demonstrieren, bei dem ich die Tour of Heroes geändert habe, um Fässer zu verwenden.
Imapp/app.component
, der grundlegende Weg zum Import ist wie folgt:
import { HeroService } from './hero.service';
import { HeroesComponent } from './heroes.component';
import { HeroDetailComponent } from './hero-detail.component';
Aber wenn Sie stattdessen ein Fass verwenden, sieht die Importdefinition folgendermaßen aus:
import {
HeroService,
HeroesComponent,
HeroDetailComponent
} from '../app';
Dasfrom '../app';
-Zeile kennzeichnet eine Datei mit dem Namenindex.ts
die die exportierten / importierten Komponenten enthalten:
// app/index.ts
export * from './hero-detail.component';
export * from './hero.service';
export * from './heroes.component';
Aber das funktioniert bei mir nicht in allen Fällen. Der einzige Weg, wie ich das richtig hinbekommen habe, ist das explizite Einfügen desindex
Dateiname
import {
HeroService,
HeroesComponent,
HeroDetailComponent
} from '../app/index'; // have to indicate 'index'
Wie kann ich das zum Laufen bringen, wo dasindex.js
Dateiname ist impliziert?