Wo speichern Sie Globale Einstellungen, im Winkel 4
In Eckig (Art-Skript) gibt es viele config-Dateien. Welches ist das richtige speichern Sie eine Globale Einstellung?
Zum Beispiel, wenn ich rufe-API von lokalen dann meine rootUrl
ist localhost:42000
aber wenn ich den Schalter auf die Produktion sollte http:www.someting.com
.
Ich wollen speichern Sie diese rootUrl
in einigen weltweite Ort, so dass, wenn ich schalten Sie die Produktion dann habe ich nur noch ändern, in diesem rootUrl
.
Bitte vorschlagen, wo sollte ich speichern Sie diese globalen Einstellungen, wie web.config in Asp.Net.
- angularjs und angular 4 sind nicht die gleichen Rahmen. welche verwenden Sie? ist javascript, der andere ist typescript.
- Ich bin mit Winkel 4
- seine Winkel nicht Winkel-js-bitte ändern
- Mögliche Duplikate von die Definition globaler Konstanten, die in Winkel-2
- ich denke, dass er mit TypeScript eine
- Wenn der URL, dient die app auch die URL, die dient Ihrer API, dann brauchst du nicht rootUrl. Nur http verwenden.get('/api/blabla'). Ansonsten, Winkel-CLI-Umgebungen für solche Sachen. Aber alles, was Sie brauchen, ist eine exportierte Konstante, wo immer Sie wollen, dass Sie importieren, wo yo es brauchen.
- Müssen wir die build-Projekt zwei mal mit prod und Entwicklung, oder ist es irgendeine andere Weise zu ändern, die root-URL des API wies auf anderen server und root-url ändern, ohne das Projekt zu erstellen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Antwort ist ähnlich wie @trichetriche, mit ein paar mehr details auf den code.
Für
development/testing
ZweckUmgebung.ts
Für
production
Umgebung.prod.ts
Nutzung
service.ts
Notieren
production
parameter in allenenvironment
- Dateien.Ich glaube, Sie könnten auch mehr schaffen Umgebungen, wie
environment.unittesting.ts
.import { environment } from '../../environments/environment';
zuimport { environment } from '../../environments/environment.prod';
? in jeder service-Datei ?ng build
dienen Ihrem Zweck.Als ich begann, mit Winkel-2 habe ich eine Globale.ts-Datei, wo ich all meine Variablen, so dass ich es leicht ändern.
Habe ich dann entdeckt Sie die Umgebungen, die zur Verfügung gestellt von Winkel-CLI. Alles, was Sie tun müssen ist, den Namen einer Datei
environment.prod.ts
(für prod), und verwenden Sieng build --prod
wenn Sie es erstellen. wenn Sie entwickeln, verwenden Sie dieenvironment.ts
Datei und beide Dateien haben die gleichen Variablen.Ich hoffe, das beantwortet Ihre Frage.
Habe ich eine andere Möglichkeit zu definieren, die die globalen Einstellungen an. Denn wenn wir, definiert in ts-Datei, wenn build-in-Produktion-Modus ist es nicht leicht zu finden-Konstanten um den Wert zu ändern.
Im app-Ordner, füge ich den Ordner configs/Einstellung.json
Inhalt in der Einstellung.json
In-app-Modul hinzufügen APP_INITIALIZER
mit auf diese Weise, ändern kann ich den Wert in json-Datei zu erleichtern.
Bewarb ich mich in diesem Projekt für baseUrl, dateformat, sessiontimeout...
Können Sie
process.env
mit webpack ganz einfach. E. g.können Sie auch ändern
process.env.NODE_ENV
mitwebpack -p --define process.env.NODE_ENV='\"production\"' --config ./src/webpack.config.js
Mehr
https://basarat.gitbooks.io/typescript/docs/tips/build-toggles.html