Angular CLI verfügt über eine development proxy configuration option, mit der Aufrufe an ein Entwicklungs-Back-End abgefangen und an die API weitergeleitet werden können. Auf diese Weise können Sie selbständig an den Projekten arbeiten und die @angular/cli
Tools nutzen.
Sie würden eine Datei namens proxy.conf.json
auf derselben Ebene wie Ihre angular-cli.json
Datei erstellen. Nehmen wir an, Ihre Knoten API in der Entwicklung auf dem Port läuft bei http://localhost:3000
und Ihre API-Endpunkte sind alle unter Pfad „/ api“, würde der Inhalt proxy.conf.json
wie folgt aussehen:
{
"/api": {
"target": "http://localhost:3000",
"secure": false
}
}
Sie einrichten können, wie Wenn Sie mehrere Intercepts benötigen, werden in diesem Fall nur Anrufe an "/ api" abgefangen und an das Projekt weitergeleitet, das unter http://localhost:3000
läuft.
würden Sie dann benötigen npm start
in package.json
der Winkel App Befehl zu modifizieren, um die Proxy zu verwenden:
"scripts": {
...
"start": "ng serve --proxy-config proxy.conf.json",
...
},
Dann würden Sie brauchen nur sowohl die Back-End und Front-End separat in verschiedenen laufen Befehlsfenster. Sie können eine Bibliothek wie concurrently verwenden, um mehrere Befehle in Entwicklung mit einem einzelnen npm start
auszuführen. Sie würden Ihre npm start
Befehl in dem Basisknoten API-Projekt in etwa so ein:
"scripts": {
"start": "concurrently \"./bin/www\" \"cd public && npm start\"",
}
In diesem Beispiel mein Knoten (express) App von ./bin/www
und mein Eckige App aktiviert ist, wird im public
Ordner aber das könnte natürlich je nach Projektstruktur ein anderer Ordner sein. Ihr Start könnte einfacher sein, wenn der Backend-Knoten api nur eine einzige Eingabedatei "start": "concurrently \"node ./server.js" \"cd public && npm start\""
ist.
Beispielstruktur:
Project
server.js (back-end node API)
package.json (concurrently library and command added here)
public (angular front-end app)
src
.angular-cli.json
package.json (npm start updated to use proxy)
proxy.conf.json (proxy configuration goes here)
Hoffentlich hilft!
Haben Sie [Angular CLI] (https://github.com/angular/angular-cli) verwendet, um das Angular-Projekt zu erstellen? –
Ja, ich benutze Angular CLI –