Maison  >  Article  >  interface Web  >  Questions sur la variable d'environnement de nœud process.env

Questions sur la variable d'environnement de nœud process.env

一个新手
一个新手original
2017-10-25 13:40:192035parcourir

Avant-propos

Ces deux derniers jours, j'ai travaillé sur le projet de déploiement avec le GG d'exploitation et de maintenance.

J'ai rencontré un problème avec nos environnements de développement, uat et produit.

Étant donné que le front-end et le back-end sont séparés, il y aura le problème du changement de nom de domaine de l'interface back-end pendant le processus de développement et de déploiement. Après avoir lutté tout l'après-midi et recherché diverses informations, j'ai découvert cette Nodevariable d'environnementprocess.env.

Ce qui suit est un compte rendu de résolution de problèmes. J'espère que cela aidera quelqu'un qui ne comprend pas.

Variable d'environnement de nœud

Tout d'abord, lorsque nous développons des applications monopage de react et vue, je pense que tout le monde n'est pas familier avec process.env dans le fichier de configuration .
Vous ne vous en souvenez plus ? Point d'interrogation noir.jpg.

Ce sont les choses suivantes.

Questions sur la variable d'environnement de nœud process.env

Littéralement, c'est cet attribut env. La configuration sera légèrement différente dans différents environnements de development et production.

D'accord, commençons par voir ce qu'est ce soi-disant process.

文档:http://nodejs.cn/api/process....官方解释:process 对象是
一个 global (全局变量),提供有关信息,控制当前 Node.js 进程。作为一个对象,它对于 Node.js 应用程序始终是可用的,故无需使用 require()。

Le processus (processus) est en fait une variable globale qui existe dans nodejs.
Ensuite, nous pouvons obtenir des choses intéressantes grâce à ce soi-disant processus.

Mais aujourd'hui on parle surtout de process.env.

process.env

Qu'est-ce que c'est ?

Officiel : L'attribut process.env renvoie un objet contenant des informations sur l'environnement utilisateur.

Document : http://nodejs.cn/api/process....

Oh oh, il s'avère qu'il existe un attribut qui peut renvoyer le environnement dans lequel se déroule le projetQuelques informations.

A quoi ça sert ?

C'est un scénario d'utilisation évident, en s'appuyant sur cela, nous pouvons mettre une étiquette sur le serveur. Dans ce cas, nous pouvons effectuer certains traitements de configuration en fonction de différents environnements. Par exemple, activer sourceMap, changer le nom de domaine de l'interface backend, etc.

你是 dev 环境
他是 uat 环境
她是 product 环境。

Comment configurer les variables d'environnement

Ce qui suit décrit comment configurer les variables d'environnement pour chaque environnement.

Configuration Windows

Configuration temporaire

Vous pouvez le configurer directement dans l'environnement cmd, afficher les variables d'environnement, ajouter des variables d'environnement et supprimer des variables d'environnement.

#node中常用的到的环境变量是NODE_ENV,首先查看是否存在 
set NODE_ENV 
#如果不存在则添加环境变量 
set NODE_ENV=production 
#环境变量追加值 set 变量名=%变量名%;变量内容 
set path=%path%;C:\web;C:\Tools 
#某些时候需要删除环境变量 
set NODE_ENV=

Configuration permanente

Clic droit (cet ordinateur) -> Propriétés (R) -> Paramètres système avancés -> >

Configuration Linux

Temporaire

Afficher les variables d'environnement, ajouter des variables d'environnement, supprimer des variables d'environnement

#node中常用的到的环境变量是NODE_ENV,首先查看是否存在
echo $NODE_ENV
#如果不存在则添加环境变量
export NODE_ENV=production
#环境变量追加值
export path=$path:/home/download:/usr/local/
#某些时候需要删除环境变量
unset NODE_ENV
#某些时候需要显示所有的环境变量
env
Permanent

Ouvrir le fichier de configuration location

# 所有用户都生效
vim /etc/profile
# 当前用户生效
vim ~/.bash_profile
Ajoutez une instruction similaire à la suivante à la fin du fichier pour définir ou modifier les variables d'environnement

# 在文件末尾添加如下格式的环境变量
export path=$path:/home/download:/usr/local/
export NODE_ENV = product
Une fois la modification finale terminée, vous devez exécuter le déclaration suivante pour recharger le système

# 修改/etc/profile文件后
source /etc/profile
# 修改~/.bash_profile文件后
source ~/.bash_profile
Résoudre le problème du changement d'interface backend causé par l'environnement

Après avoir résolu ce problème, nous pouvons définir différents

sur des machines dans différents environnements. Bien entendu, ce domaine n’est pas forcément certain. NODE_ENVVous pouvez également le changer en un autre
etc. Quoi qu'il en soit, il est personnalisé. NODE_ENV_NIZUISHUAI

Étapes de la solution

1. Modifiez la configuration de l'adresse backend dans le code

C'est très simple, utilisez simplement le champ

pour juger. (process.env.NODE_ENV est un attribut global de process, utilisez-le simplement directement) node

Questions sur la variable d'environnement de nœud process.env

2. Définissez les variables d'environnement sous Linux

export NODE_ENV=dev
Ensuite, vous pourrez vous amuser avec le projet de startup.

À la fin

Parce que mon projet actuel est le rendu côté serveur React. Par conséquent, le transfert de la demande backend n’est pas transmis à

pour traitement. nginxComme les applications ordinaires d'une seule page,
est généralement utilisé pour transmettre des demandes. nginx

Cet article a été écrit relativement rapidement, haha. S'il y a des erreurs dans l'article, veuillez le signaler et j'en tirerai des leçons.

En plus, si ce petit article vous est utile, autant me mettre un like, ce sera pour moi une grosse motivation pour continuer.


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn