Angular js Lesen Umgebungsvariablen
Ich versuche zu Lesen von environment-Variablen in http-get-Aufrufe
$http.get('http://' + $location.host() + ':8080/api')
Ich möchte in der Lage sein zu Lesen, die environmen variable, und verwenden Sie es als http-rest-server in den oben genannten API-Aufruf, wie folgt
$http.get('environmental_variable ':8080/api')
Hinweis: ich weiß nicht, die environment-variable erst zur Laufzeit, So kann ich nicht den Wert vor der hand als eine Konstante
- "Ich möchte die api-Adresse, um eine Umgebungs-variable". Die erklären das besser.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es viele Beispiele, die zeigen, wie Sie Ihre Einstellungen in verschiedenen Dateien oder Konstanten. Die meisten dieser arbeiten, aber verpasse den Punkt.
Ihre Einstellungen in der Konfiguration sind nicht Bestandteil des Codes!
Abgesehen von der "Hallo Welt" Beispiele, Ihr Einsatz sollte durchgeführt werden, von einem CI - /CD-server und dieser sollte verantwortlich sein für die Einstellung der Konfiguration der Einstellungen. Dies hat eine Reihe von Vorteilen:
1), die Sie bereitstellen, die den gleichen code für verschiedene Umgebungen. Wenn Sie code bereitstellen, um eine test-Umgebung, die Sie bereitstellen möchten, den gleichen code in der Produktionsumgebung. Wenn Ihr Server neu zu erstellen Sie den code, um die Produktion von Konfigurationseinstellungen, die Sie bereitstellen, die unterschiedlichen code.
2) - Code kann geteilt werden, ohne zu verraten, Ihren API-Informationen, AWS-Einstellungen und andere geheime Informationen.
3) erlaubt Es, neue Umgebungen zu leicht Hinzugefügt werden.
Gibt es viele Beispiele gibt, wie dies zu tun. Ein Beispiel ist http://www.jvandemo.com/how-to-configure-your-angularjs-application-using-environment-variables
Gibt es keine solche Dinge wie Umgebungsvariablen im browser.
Den
$location
service ist immer gehen, um Ihre aktuelle URL. Ich denke, Ihre API möglicherweise Leben auf einem anderen host.Ist es möglich zu simulieren, Umwelt-Variablen, die durch die Speicherung von Konfiguration in einem Winkelbereich konstant.
Dann können Sie injizieren diese Konstante in Ihrem anderen Anbieter.
Hier ist eine anständige Artikel auf best practices mit Konstanten. Der Artikel bevorzugt nicht die Verwendung von Konstanten, da ist es sinnvoll, in der Lage sein, um die Konfiguration zu ändern, ohne neu zu erstellen Sie den code.
Dem Weg, den ich normalerweise behandeln Sie diese so verschieben Sie alle die Beispiel-Konfigurations-details zu einem
config.json
- Datei, dann laden Sie es mit$http
wenn ich meine bootstrap-Anwendung.Zum Beispiel, haben Sie vielleicht eine config-Datei wie folgt.
Dann ein Eckiges service, lädt es.
Dann andere Dienstleistungen bekommen können, die das Versprechen, das setzen der config, wenn gelöst.
Empfehle ich Ihnen die Nutzung einer Bibliothek, zum setzen von Umgebungsvariablen. Sie können eckig-Umwelt-plugin, das zu tun: https://www.npmjs.com/package/angular-environment
Hier ist ein Beispiel
Dann können Sie die richtige variable basierend auf dem, was Umgebung, Ihre Anwendung ausgeführt wird:
var apiUrl = envService.read('apiUrl');
Prost!