2017-05-08 6 views
0

Ich verwende das neueste eckig/quickstart-Projekt, das Systemjs-Angular-Loader.js zum Laden app relativ HTML-Vorlagen verwendet (ohne die ModulId-Eigenschaft).mit systemjs-angular-loader.js in der Produktion - gibt 404

Das Projekt funktioniert gut in Entwicklung/Test (mit dem "Npm Start", um Seiten zu bedienen). Wenn Sie jedoch für die Produktion mit Hilfe von gulp erstellen, sucht das Projekt im Stammordner (nicht im relativen Ordner der App) nach HTML-Vorlagen.

Gibt es spezielle Schritte für die Verwendung/Erstellung von "systemjs-angular-loader.js" in der Produktion? Die einzigen Hinweise, die ich zu system-angular-loader.js finden kann, sind 404s after updating to systemjs-angular-loader.js, denen ich gefolgt bin, aber das hat nicht geholfen.

Ich habe meine gulpfile.js der Kürze wegen nicht eingeschlossen, aber ich benutze gulp-typescript und systemjs-builder (unter anderem).

+0

Haben Sie gesehen: https://angular.io/docs/ts/latest/guide/deployment.html – DeborahK

+0

Ja gesehen. Ich habe nichts speziell für mein Problem gesehen (es sei denn, ich habe etwas verpasst?). – Chet

Antwort

0

Dies ist möglicherweise nicht die Lösung für Ihren Fall, aber für andere Leute mit dem gleichen Problem, wenn Sie Karma ausführen, müssen Sie auf die neueste systemjs-angular-loader.js aktualisieren.

Es gab eine kürzliche Änderung externe Vorlagen beheben nicht geladen werden: link und issue

Für dieses Updates stellen Sie sicher, Datei ist es im selben Ordner wie die Komponente der Vorlage zu arbeiten Referenzierung, und dass Sie eine haben Vorlagen-uRL in der Form von

templateUrl: './myComponent.component.html'

Dies liegt daran, die systemjs-Winkel-loader prüft, ob ein Punkt in th e templateUrl

if (url.startsWith('.')) { 
    resolvedUrl = basePath + url.substr(1); 
    }