2016-11-23 2 views
0

ich eine Winkel 2-Anwendung erstellen müssen die Winkel-cli mit wie alsVerschieben Winkel 2 Anwendung auf Apache-Server environtment Fehler machen

ng new my-angualr-app 

nach Thay folgen habe ich diese Anwendung auf dem Produktionsmodus bauen

ng build --prod 

der ich habe die dist Ordner.

Schließlich verschiebe ich den Ordner auf meine Apache-Server var/www/html Verzeichnis, aber die angular 2-Anwendung funktioniert nicht gut.

Ich konnte das Problem nicht herausfinden. Warum funktioniert das nicht? Die Anwendung funktioniert gut auf den Produktionsbetrieb in der lokalen Umgebung, während der Befehl ausgeführt wird ng serve --prod

Die Konsole Fehlerausgang ist hier

enter image description here

Die Registerkarte Netzwerk zeigt 404-Status. Aber die Dateien befindet sich im selben Verzeichnis

enter image description here

+0

Was ist die genaue Fehlermeldung? –

+1

Sie könnte so etwas wie http://krasimirtsonev.com/blog/article/apache-htaccess-for-html5-push-state-manipulations –

+0

Dup von http://stackoverflow.com/questions/31415052/angular-2- brauchen –

Antwort

1

Statt den dist-Ordner kopieren, den Inhalt des dist-Ordner kopieren, und stellen Sie sicher, dass die Basis href korrekt

+0

es nicht funktioniert – nifCody

+0

Das Problem, das ich auf der Registerkarte Netzwerk gefunden ist alle unter Datei gehasht werden und der Status der Dateien Nein ist sind 404 styles.d41d8cd98f00b204e9800998ecf8427e.bundle.css inline.d41d8cd98f00b204e980.bundle.js Stile. b2328beb0372c051d06d.bundle.js main.6cc85e1296261ab75a89.bundle.js favicon.ico – nifCody

+0

Die Lösung ist Arbeit für mich kopieren Sie den Inhalt, anstatt den/dist forlder zu kopieren. warum passiert es? – nifCody

0

Ich glaube, Sie tun werden es falsch, ich bin meinen Weg von doing-

zu allererst teile ich git für Repository verwenden. Also schiebe ich meinen angular2-Code, der von angular-cli erstellt wurde. Standardmäßig wird der Ordner dist nicht im Repository hinzugefügt. Also lass ich es so wie es ist.

Danach klonen ich meine angular2 Code auf dem Produktionsserver in var/www/html und führen Sie die ng build --prod dort. Es erstellt den Ordner dist für den Produktionsserver.

Ich denke, dass Sie auf diese Weise versuchen können. Es funktioniert wirklich für mich (in meinen verschiedenen Projekten)