Heim  >  Artikel  >  Web-Frontend  >  Eine ausführliche Erklärung der Umgebungsvariablen Process.env in Node.js

Eine ausführliche Erklärung der Umgebungsvariablen Process.env in Node.js

小云云
小云云Original
2018-01-02 13:35:473541Durchsuche

Dieser Artikel stellt Ihnen hauptsächlich einige Dinge über die Umgebungsvariable „process.env“ in Node.js vor. Der Artikel stellt sie im Detail anhand von Beispielcode vor. Es hat einen gewissen Referenz-Lernwert für alle, die „node.js“ lernen oder verwenden möchten Wer braucht es? Lassen Sie uns gemeinsam mit dem Herausgeber unten lernen.

Vorwort

In den letzten zwei Tagen habe ich mit der Betriebs- und Wartungs-GG an einem Einsatzprojekt gearbeitet. Ein Problem, auf das wir gestoßen sind, war ein Problem mit unseren Entwicklungs-, UAT- und Produktumgebungen.

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 durchsucht hatte, habe ich endlich die Node-Umgebungsvariable „process.env“ herausgefunden.

Das Folgende ist eine Aufzeichnung der Problemlösung. Ich hoffe, das hilft jemandem, der es nicht versteht. Es gibt nicht viel zu sagen, werfen wir einen Blick auf die ausführliche Einführung.

Knotenumgebungsvariablen

Wenn wir Single-Page-Anwendungen in React und Vue entwickeln, glaube ich, dass nicht jeder mit der Konfigurationsdatei „process.env“ vertraut ist .

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 wird in verschiedenen Entwicklungs- und Produktionsumgebungen etwas unterschiedlich sein.

Okay, fangen wir an zu sehen, was dieser sogenannte Prozess ist.

Dokument: http://nodejs.cn/api/process.html

Offizielle Erklärung: Das Prozessobjekt ist eine globale Variable (globale Variable), die relevante Informationen bereitstellt und den aktuellen Knoten steuert. js-Prozess. Als Objekt ist es für Node.js-Anwendungen immer verfügbar, sodass die Verwendung von require() nicht erforderlich ist.

Prozess ist eigentlich eine globale Variable in NodeJS.

Dann können wir durch diesen sogenannten Prozess einige interessante Dinge erhalten.

Aber heute reden wir hauptsächlich über process.env.

process.env

Was ist das?

Offiziell: Die Eigenschaft „process.env“ gibt ein Objekt zurück, das Informationen zur Benutzerumgebung enthält.

Dokumentation: http://nodejs.cn/api/process.html#process_process_env

Oh oh, es stellt sich heraus, dass dieses Attribut einige Informationen über die Umgebung zurückgeben kann, in der sich das Projekt befindet läuft.

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 环境。

So konfigurieren Sie Umgebungsvariablen

Im Folgenden wird beschrieben, wie Sie Umgebungsvariablen für jede Umgebung konfigurieren.

Windows-Konfiguration

Temporäre Konfiguration

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=

Permanente Konfiguration

Rechtsklick (dieser Computer) -> Erweiterte Systemeinstellungen -> >

Linux-Konfiguration


Temporär

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
Permanent

Offen Konfigurationsdatei Wo

# 所有用户都生效
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 tun Führen Sie die folgende Anweisung aus, um das System neu zu laden

# 修改/etc/profile文件后
source /etc/profile
# 修改~/.bash_profile文件后
source ~/.bash_profile
Lösung des Problems der durch die Umgebung verursachten Backend-Schnittstellenänderung


Nachdem wir dieses Problem herausgefunden haben, können wir verschiedene NODE_ENV auf Maschinen festlegen Natürlich ist dieses Feld nicht unbedingt sicher.

Sie können es auch in ein anderes NODE_ENV_NIZUISHUAI usw. ändern, es wird trotzdem angepasst.

Lösungsschritte


1. Ändern Sie die Backend-Adresskonfiguration im Code

Es ist sehr einfach, verwenden Sie einfach das Feld „process.env.NODE_ENV“, um zu beurteilen. (Prozess ist eine globale Eigenschaft des Knotens, verwenden Sie ihn einfach direkt)

2. Legen Sie die Umgebungsvariable unter Linux fest

export NODE_ENV=dev
Dann können Sie haben Lustiges Startup-Projekt zum Spielen.

Am Ende


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 normalerweise zum Weiterleiten von Anfragen verwendet.

Verwandte Empfehlungen:

Bessere Möglichkeit, Front-End-Umgebungsvariablen zu verwalten

Mitteilung von Schritten zur Konfiguration von Umgebungsvariablen unter Linux (Bild)

Teilen der Schritte zum Konfigurieren von Umgebungsvariablen unter Linux (Bild)

Das obige ist der detaillierte Inhalt vonEine ausführliche Erklärung der Umgebungsvariablen Process.env in Node.js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn