Bereitstellen der grundlegenden Angular 2-App für Google App Engine

8

Ich kann mit Angular 2 grundlegende Front-End-Anwendungen erstellen und mit Python Back-Ends mit Endpunkten in der Google App Engine erstellen. Ich kann jedoch nicht herausfinden, wie man die beiden zusammenfügt und sie mit dem Cloud SDK einsetzt.

Hier ist ein grundlegendes Beispiel, wo ich nicht einmal eine einfache angular2-App ohne Back-End-Aufrufe auf GAE hosten kann. Ich habe den Ordner dist nach dem Erstellen mit angular2 CLI genommen und versucht, mich mit der app.yaml-Datei zu verbinden. Es scheint im Browser-Entwickler (dev_appserver.py app.yaml) zu funktionieren, obwohl ich im SDK einige 404-Fehler mit den GET-Anfragen bekomme, die ich mit meiner index.html-Datei machen soll. Ich erstelle dann eine leere index.yaml Datei und versuche sie zu deployen, bekomme aber einen 404 Error am Standort von appspot.com. Dies ist die app.yaml-Datei:

%Vor%

Ich habe wirklich keine Ahnung, was ich falsch mache. Benötige ich eine Art main.application Python-Backend für die Verbindung zu den dist-Dateien oder? Muss ich Knotenmodule oder andere Arten oder Dateien von Angular2 hinzufügen? Jede Hilfe würde massiv geschätzt werden! Danke

    
Nicholas 30.09.2016, 01:53
quelle

4 Antworten

8

Für die neuesten Versionen von Angular 4 und App Engine habe ich Folgendes erstellt:

%Vor%

Auf der Suche nach Feedback, wie dies verbessert werden könnte.

    
Rob 23.06.2017, 21:21
quelle
9

Ich aktualisiere jetzt die Handler in meiner app.yaml-Datei, um für statische Uploads auf die Google Cloud-Plattform so aussehen zu können. Es gab Probleme mit Angular Router, wenn der reguläre Ausdruck nicht so war. Der Ordner Dist wird von angular cli ng build :

ausgegeben %Vor%

UPDATE:

Für die Produktion ng build --prod würde meine app.yaml-Datei so aussehen:

%Vor%

Ich würde alle anderen Dateitypen im Ordner "dist" den Regex-Gruppierungszeichen im ersten Handler hinzufügen: (gif|png|jpeg|jpg|css|js|ico)

    
Nicholas 06.04.2017 00:14
quelle
2

Es sieht so aus, als ob Ihre Übereinstimmung mit regulären Ausdrücken an der falschen Stelle ist. Probieren Sie dieses Format aus:

%Vor%

Das kommt von Tests und einigen Kuriositäten, die wir bei der Erstellung der statischen Seite festgestellt haben Hosting-Tutorial für App Engine .

    
BrettJ 02.10.2016 06:34
quelle
0

Ersetzen Sie Ihre App.yaml durch Folgendes. Es wird funktionieren!

%Vor%     
Nipun Madan 30.09.2016 12:59
quelle