Heim  >  Artikel  >  Web-Frontend  >  Fragen zur Knotenumgebungsvariablen „process.env'.

Fragen zur Knotenumgebungsvariablen „process.env'.

一个新手
一个新手Original
2017-10-25 13:40:192036Durchsuche

Vorwort

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 NodeUmgebungsvariableprocess.env.

Das Folgende ist eine Aufzeichnung der Problemlösung. Ich hoffe, das hilft jemandem, der es nicht versteht.

Knotenumgebungsvariable

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.

Fragen zur Knotenumgebungsvariablen „process.env'.

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.

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

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 (N)...

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

Ö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

Lösen Sie das Problem der durch die Umgebung verursachten Änderung der Backend-Schnittstelle

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.

Lösungsschritte

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)

Fragen zur Knotenumgebungsvariablen „process.env'.

2. Legen Sie Umgebungsvariablen unter Linux fest

export NODE_ENV=dev

Dann kannst du viel Spaß mit dem Startup-Projekt haben.

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 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!

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