kann die Vorlage html des importierten Bauteils in Angular2 nicht finden

8

Ich habe an einer Angular2-Demo mit mehreren Komponenten gearbeitet. Die Demo bootstrappt mit einer AppComponent, wo ich andere Komponenten in die Template-HTML von AppComponent importiere. Es ist mir gelungen, die Demo zu erstellen und den Inhalt von AppComponent anzuzeigen, aber andere Komponenten konnten nicht geladen werden.

Hier ist das Codebeispiel meiner angular2-Komponenten

app.component.html

%Vor%

app.component.ts

%Vor%

navigator.component.html

%Vor%

navigator.component.ts

%Vor%

Als ich den Server eingerichtet und versucht habe, die App zu sehen, hatte ich den folgenden Fehler

%Vor%

und

%Vor%

Offensichtlich hat der Server versucht, eine navigator.component zu finden, aber sie existiert nicht. Als ich jedoch Ссылка ausprobierte, konnte ich die Seite mit einem Textfeld sehen.

Das Problem schien also die fehlende HTML-Erweiterung zu sein, aber ich hatte keine Ahnung, wie es passiert ist.

Ich werde jeden Vorschlag und jede Antwort zu schätzen wissen, um das Problem zu lösen. Vielen Dank im Voraus.

Wenn Sie den Fehler vollständig erleben möchten, gehen Sie bitte zum Repo des Projekts ( Ссылка ) und machen Sie den folgende Schritte:

  1. Zeile 12 bei public_src / app / app.component.ts

  2. auskommentieren
  3. richten Sie die App ein

  4. Gehen Sie zu localhost: 3000 und prüfen Sie den Fehler

Aktualisieren :

Dieses Problem wurde gelöst, indem die andere Komponente in der SystemJS-Konfiguration wie

abgelehnt wurde %Vor%

Dies half der App, andere Komponenten zu finden:)

    
Haoliang Yu 26.12.2015, 01:59
quelle

1 Antwort

2

Das Problem ist nicht, dass die Vorlagendatei nicht gefunden werden kann. Das navigator.component.js kann jedoch nicht geladen werden.

Es versucht, es von Ссылка zu laden, aber es sollte von der Karte "app" geladen werden, ergo: Ссылка . Die Erweiterung js wird von der in der SystemJS-Konfiguration festgelegten Standarderweiterung hinzugefügt.

Der Grund dafür, dass der Fehler verschwindet, nachdem Sie die Zeile 12 in app.component.ts kommentiert haben, ist, dass obwohl die Import-Anweisung von navigator.component.ts noch im Code verbleibt, der Typskript-Compiler sie nicht zur tatsächlichen Ausgabe hinzufügt. weil die Klasse nicht in der aktuellen Datei verwendet wird.

Ich konnte Ihr Projekt nicht installieren, da Sie anscheinend bereits einige Änderungen daran vorgenommen haben. Aber ich glaube, das Problem besteht darin, den Importort von navigator.component in app.component.ts zu ändern:

%Vor%

Beachten Sie, dass ich den aktuellen Ordner ./

vorangestellt habe

Besser sollte es sein, entweder ein Basis-href-Tag in Ihre index.html einzufügen:

%Vor%

Oder um Ihre Website vom app -Ordner aus so zu bedienen, dass http://localhost sich tatsächlich auf den App-Ordner bezieht und nicht auf den übergeordneten Ordner

    
PierreDuc 26.12.2015, 12:17
quelle

Tags und Links