Das folgende Szenario: Ich baue eine AngularJS 2-App, die eine REST-API verwendet (die mit Elixir oder RoR oder was auch immer gebaut werden könnte). Während der Entwicklung möchte ich, dass AngularJS eine andere API verwendet als in der Produktion (vielleicht mit Testdaten, vielleicht weil ich die API zur gleichen Zeit erstelle und sie auf meinem Rechner läuft).AngularJS 2: Umgang mit der App-Konfiguration für verschiedene Umgebungen
Zusätzlich möchten andere Mitglieder meines Teams möglicherweise eine andere lokale API-Adresse verwenden. Das heißt, das sollte nicht in das Versionskontrollsystem gehen.
So könnte zum Beispiel die api_base_url
http://localhost:4000
für mich sein, http://testapi.local
für meinen Kollegen und http://api.example.com
für die Produktion.
Der Wert api_base_url
sollte in mehreren Komponenten verfügbar sein.
Was ist ein guter Ansatz, um damit umzugehen?
Aber das würde bedeuten, dass ich die richtige Konfiguration kopieren und einfügen muss, abhängig von der Umgebung. Ich denke, es wäre eleganter, wenn ich für jede Umgebung eine Konfigurationsdatei hätte, die nicht der Versionskontrolle unterliegt und für jedes Teammitglied individuell sein könnte. Kopieren und Einfügen vor dem Build scheint auch keine so gute Idee zu sein, wenn Sie einen automatischen Flow und CI haben möchten. –
Es wäre kein manuelles Kopieren/Einfügen, sondern integriert in Ihrem Build (mit Schluck und Schluck-HTML-ersetzen zum Beispiel). Siehe diese Frage: http: // stackoverflow.com/questions/36285064/how-do-i-tatsächlich-deploy-an-angular-2-typescript-systemjs-app/36315060 –
Eine andere Möglichkeit wäre, die Anwendung nach dem Laden einer Konfigurationsdatei zu laden. Ich habe meine Antwort entsprechend aktualisiert ... –