Heim > Artikel > Web-Frontend > Fragen zur Knotenumgebungsvariablen „process.env'.
In den letzten zwei Tagen habe ich mit der Betriebs- und Wartungs-GG an einem Bereitstellungsprojekt gearbeitet.
Ich habe ein Problem mit unseren Entwicklungs-, UAT- und Produktumgebungen festgestellt.
Da Front-End und Back-End getrennt sind, besteht das Problem, dass der Domänenname der Back-End-Schnittstelle während des Entwicklungs- und Bereitstellungsprozesses geändert wird. Nachdem ich den ganzen Nachmittag gekämpft und verschiedene Informationen gesucht hatte, kam ich auf diese Node
Umgebungsvariableprocess.env
.
Das Folgende ist eine Aufzeichnung der Problemlösung. Ich hoffe, das hilft jemandem, der es nicht versteht.
Zuallererst: Wenn wir Einzelseitenanwendungen von react
und vue
entwickeln, ist meiner Meinung nach nicht jeder mit process.env
in der Konfigurationsdatei vertraut .
Sie können sich nicht erinnern? Schwarzes Fragezeichen.jpg.
Das sind die folgenden Dinge.
Im wahrsten Sinne des Wortes ist es dieses env
-Attribut. Die Konfiguration unterscheidet sich in verschiedenen Umgebungen von development
und production
geringfügig.
Okay, fangen wir an zu sehen, was dieses sogenannte process
ist.
文档:http://nodejs.cn/api/process....官方解释:process 对象是 一个 global (全局变量),提供有关信息,控制当前 Node.js 进程。作为一个对象,它对于 Node.js 应用程序始终是可用的,故无需使用 require()。
Prozess ist eigentlich eine globale Variable, die in NodeJS existiert.
Dann können wir durch diesen sogenannten Prozess einige interessante Dinge erhalten.
Aber heute reden wir hauptsächlich über process.env
.
Was ist das?
Offiziell: Das
process.env
-Attribut gibt ein Objekt zurück, das Benutzerumgebungsinformationen enthält.Dokument: http://nodejs.cn/api/process....
Oh oh, es stellt sich heraus, dass es ein Attribut gibt, das zurückgeben kann Umgebung, in der das Projekt ausgeführt wirdEinige Informationen.
Was nützt es?
Es handelt sich um ein offensichtliches Nutzungsszenario. Auf dieser Grundlage können wir dem Server ein Etikett hinzufügen. In diesem Fall können wir je nach Umgebung eine Konfigurationsverarbeitung durchführen. Zum Beispiel das Einschalten von sourceMap, das Ändern des Domänennamens der Backend-Schnittstelle usw.
你是 dev 环境 他是 uat 环境 她是 product 环境。
Im Folgenden wird beschrieben, wie Sie Umgebungsvariablen für jede Umgebung konfigurieren.
Sie können es direkt in der cmd-Umgebung konfigurieren, Umgebungsvariablen anzeigen, Umgebungsvariablen hinzufügen und Umgebungsvariablen löschen.
#node中常用的到的环境变量是NODE_ENV,首先查看是否存在 set NODE_ENV #如果不存在则添加环境变量 set NODE_ENV=production #环境变量追加值 set 变量名=%变量名%;变量内容 set path=%path%;C:\web;C:\Tools #某些时候需要删除环境变量 set NODE_ENV=
Rechtsklick (dieser Computer) -> Erweiterte Systemeinstellungen (N)...
Umgebungsvariablen anzeigen, Umgebungsvariablen hinzufügen, Umgebungsvariablen löschen
#node中常用的到的环境变量是NODE_ENV,首先查看是否存在 echo $NODE_ENV #如果不存在则添加环境变量 export NODE_ENV=production #环境变量追加值 export path=$path:/home/download:/usr/local/ #某些时候需要删除环境变量 unset NODE_ENV #某些时候需要显示所有的环境变量 env
Öffnen Sie die Konfigurationsdatei Standort
# 所有用户都生效 vim /etc/profile # 当前用户生效 vim ~/.bash_profile
Fügen Sie am Ende der Datei eine Anweisung ähnlich der folgenden hinzu, um Umgebungsvariablen festzulegen oder zu ändern
# 在文件末尾添加如下格式的环境变量 export path=$path:/home/download:/usr/local/ export NODE_ENV = product
Nachdem die endgültige Änderung abgeschlossen ist, müssen Sie Folgendes ausführen Folgende Anweisung zum Neuladen des Systems
# 修改/etc/profile文件后 source /etc/profile # 修改~/.bash_profile文件后 source ~/.bash_profile
Nachdem wir dieses Problem herausgefunden haben, können wir auf Maschinen in verschiedenen Umgebungen unterschiedliche NODE_ENV
festlegen. Natürlich ist dieses Feld nicht unbedingt sicher.
Sie können es auch in ein anderes NODE_ENV_NIZUISHUAI
usw. ändern. Wie auch immer, es ist individuell.
1. Ändern Sie die Backend-Adresskonfiguration im Code
Es ist ganz einfach, verwenden Sie einfach das Feld process.env.NODE_ENV
, um zu beurteilen. (process
ist ein globales Attribut von node
, verwenden Sie es einfach direkt)
2. Legen Sie Umgebungsvariablen unter Linux fest
export NODE_ENV=dev
Dann kannst du viel Spaß mit dem Startup-Projekt haben.
Weil mein aktuelles Projekt serverseitiges React-Rendering ist. Daher wird die Weiterleitung der Backend-Anfrage nicht zur Verarbeitung an nginx
übergeben.
Wie gewöhnliche Single-Page-Anwendungen wird nginx
im Allgemeinen zum Weiterleiten von Anfragen verwendet.
Dieser Artikel wurde relativ schnell geschrieben, haha. Wenn der Artikel Fehler enthält, weisen Sie ihn bitte darauf hin, dann werde ich daraus lernen.
Wenn dieser kleine Artikel für Sie hilfreich ist, können Sie mir auch ein „Gefällt mir“ geben. Das wird für mich eine große Motivation sein, weiterzumachen.
Das obige ist der detaillierte Inhalt vonFragen zur Knotenumgebungsvariablen „process.env'.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!