问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Node.js环境变量process.env使用详解

发布网友 发布时间:2024-09-28 07:27

我来回答

1个回答

热心网友 时间:2024-10-01 00:08

这次给大家带来Node.js环境变量process.env使用详解,Node.js环境变量process.env使用的注意事项有哪些,下面就是实战案例,一起来看一下。
Node环境变量
首先,咱们在做react、vue的单页应用开发的时候,相信大家对配置文件里的process.env并不眼生。
想不起来? 黑人问号.jpg。
就是下面这些玩意儿。
从字面上看,就是这个 env属性,在 development和proction不同环境上,配置会有些不同。
行,那下面我们开始看看这个所谓的 process到底是个什么东西。
文档:http://nodejs.cn/api/process.html
官方解释:process 对象是一个 global (全局变量),提供有关信息,控制当前 Node.js 进程。作为一个对象,它对于 Node.js 应用程序始终是可用的,故无需使用 require()。
process(进程)其实就是存在nodejs中的一个全局变量。
然后呢,咱们可以通过这个所谓的进程能拿到一些有意思的东西。
不过我们今天主要是讲讲 process.env。
process.env
这是啥?
官方: process.env属性返回一个包含用户环境信息的对象。
文档:http://nodejs.cn/api/process.html#process_process_env
噢噢噢,原来着个属性能返回项目运行所在环境的一些信息。
有啥用呢?
很明显的一个使用场景,依靠这个我们就可以给服务器上打上一个标签。这样的话,我们就能根据不同的环境,做一些配置上的处理。比如开启 sourceMap,后端接口的域名切换等等。
你是 dev 环境他是 uat 环境她是 proct 环境。
如何配置环境变量
下面讲讲如何配置各个环境的环境变量。
Windows配置
临时配置
直接在cmd环境配置即可,查看环境变量,添加环境变量,删除环境变量。
#node中常用的到的环境变量是NODE_ENV,首先查看是否存在 set NODE_ENV #如果不存在则添加环境变量 set NODE_ENV=proction #环境变量追加值 set 变量名=%变量名%;变量内容 set path=%path%;C:\web;C:\Tools #某些时候需要删除环境变量 set NODE_ENV=
永久配置
右键(此电脑) -> 属性(R) -> 高级系统设置 -> 环境变量(N).
Linux配置
临时
查看环境变量,添加环境变量,删除环境变量
#node中常用的到的环境变量是NODE_ENV,首先查看是否存在echo $NODE_ENV#如果不存在则添加环境变量export NODE_ENV=proction#环境变量追加值export path=$path:/home/download:/usr/local/#某些时候需要删除环境变量unset NODE_ENV#某些时候需要显示所有的环境变量env
永久
打开配置文件所在
# 所有用户都生效vim /etc/profile# 当前用户生效vim ~/.bash_profile
在文件末尾添加类似如下语句进行环境变量的设置或修改
# 在文件末尾添加如下格式的环境变量export path=$path:/home/download:/usr/local/export NODE_ENV = proct
最后修改完成后需要运行如下语句令系统重新加载
# 修改/etc/profile文件后source /etc/profile# 修改~/.bash_profile文件后source ~/.bash_profile
解决环境导致后端接口变换问题
搞清楚这个问题后,我们就可以在不同环境的机器上设置不同的 NODE_ENV,当然这个字段也不一定。
你也可以换成其他的NODE_ENV_NIZUISHUAI等等,反正是自定义的。
解决步骤
1.修改代码里的后端地址配置
很简单,就是利用 process.env.NODE_ENV这个字段来判断。(process是node全局属性,直接用就行了)
2.在linux上设置环境变量
export NODE_ENV=dev
然后你就可以去愉快的启动项目玩了。
说在最后
因为我现在这个项目 React 服务端渲染。所以后端的请求转发就没交给nginx进行处理。
像平常的纯单页应用,一般是用nginx进行请求转发的。
本篇成文比较快,哈哈,如果文内有任何的纰漏,还请指点,我也就学习学习啦。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在RLC电路中,谐振频率为___同期为___谐振条件为___? 电磁振荡并联 RLC振荡回路的谐振频率与振荡特性 佛手柑水培还是干放 中山市美派电器有限公司怎么样? 成都美派电器有限公司怎么样? 两条不同品牌的DDR3内存条可以一起用吗 驾驶证的牡丹卡多长时间能办下来 新衣服必须用洗衣液洗才能去甲醛吗? 梦见逛街被偷抢 2024年买什么品牌的运动男鞋比较好? vue项目里面用nodejs(nodejs在vue开发中的作用) node.js配置环境变量? I Will Be Here (More To This Life Album Version) 歌词 为什么我睡觉的时候盖上被子老有人推我,还梦见我屋里在墙上有红字是怎么... 梦到我盖着被子在睡觉,脚底下有许多老鼠窜来窜去~被吓醒了,有什么解释... 乾亨纪年 我们又见证历史了! 1012年有哪些重要历史人物出生或去世? 你见证了哪些历史事件? 家养什么品种狗最旺财 你家养什么狗最旺财运 养什么狗旺财养哪些狗旺财 美容仪哪个牌子好用性价比高,分享美容仪器排名前十品牌 单位车年检需要带什么手续 公司户的车年检需要什么流程 大兴安岭狗熊岭真实图片 公司户的车个人能年检吗? 笑而不语是一种成长,痛而不言是一种经历图片介绍_笑而不语是一种成长... ...人间值得图片 背景图 壁纸 原图 高清 抖音热门 朋友圈封面_百度知 ... ...四口一家三口头像图片背景图壁纸原图高清抖音热门朋友圈封面_百度知 ... 鸡胸肉怎么做好吃的美食? 学vue前要学node吗(学vue前要学ajax吗) 嵌入式消毒柜在定时间内一直加热还是间隔加热? oppo语音智能助手叫什么名字 请问一下 你的那个qq空间“我看过谁”和“谁看过我”那一模块不见了... QQ空间不小心删除了我看过谁,还能不能找回,主要想找老过的那人,我 怎么样才可以找回QQ空间里的"我看过谁”的记录 apple订阅里面的东西可以退吗? app内购买项目可以取消吗? 为什么我的显卡驱动老是崩溃啊 相亲女孩为啥不给我主动发消息,不忙给她发消息都可以秒回的,啥意思? ...差不多到现在20天了吧,我对她蛮有感觉的,就是不知道她什么... 一公斤柴油等于多少升怎么换算 签了商品房认购书可以退定金吗 35厘米可以写成3.5dm,0.07米可以写成7cm对吗 ...XP的系统!我想问一下买来的饿时候店家给我装的是什么版本的... 我的电脑XP系统,原来装有OFFICE2003,卸载了,最近再装上运行显示没有安装... ...那个被我删除了要怎么恢复?重新下载了Office2003 免费版(仅含SP1... 微信怎么看别人给自己发的视频 您好,不小心将office 2003卸载了,xp的系统,您能发个免费的安装软件到23... 微软office办公软件哪个好用