Node.js中环境变量process.env的详细说明
序
最近两天一直在和运维GG合作部署项目。遇到的一个问题是我们的开发、用户验收测试和产品环境的问题。
由于前端和后端是分离的,在开发部署过程中会出现后端接口域名切换的问题。经过一个漫长的下午,我搜索了各种数据,然后算出了Node环境变量process.env
这是解决问题的记录。希望能帮助这个不懂的人。话不多说,我们来看看详细的介绍。
节点环境变量
首先,我们在开发react和vue的单页应用时,相信大家对配置文件中的process.env并不熟悉。
不记得了?黑人问题mark.jpg。
就是下面这些东西。
从字面上看,这是env属性,在不同的开发和生产环境中,配置会有所不同。
好了,让我们开始看看这个所谓的过程是什么。
文件:http://nodejs.cn/api/process.html
官方解释:流程对象是一个全局变量,提供相关信息,控制当前Node.js流程。作为一个对象,它始终对Node.js应用程序可用,因此不需要使用require()。
事实上,process是nodejs中的一个全局变量。
然后,我们可以通过这个所谓的过程得到一些有趣的东西。
然而,今天我们主要讨论process.env
process.env
这是什么?
官方的: process.env属性返回一个包含用户环境信息的对象。
文件:http://nodejs.cn/api/process.html#process_process_env
哦,哦,原来的属性可以返回一些关于项目运行环境的信息。
有什么用?
一个显而易见的使用场景,我们可以用它来标记服务器。这样,我们可以根据不同的环境做一些配置处理。比如打开sourceMap,后端接口的域名切换等等。
你是开发环境,他是用户验收测试环境,她是产品环境。如何配置环境变量
我们来谈谈如何配置每个环境的环境变量。
Windows配置
临时配置
您可以直接在cmd环境中配置它,并查看、添加和删除环境变量。
#node中常用的环境变量是NODE_ENV,首先检查set NODE_ENV #是否存在,然后添加环境变量set NODE_ENV=production #环境变量追加值set变量名=%变量名%;变量内容集路径=% path %C: \ webC: \工具#有时需要删除环境变量集NODE_ENV=永久配置
右键单击(这台电脑)-属性-高级系统设置-环境变量.
Linux配置
暂时的
查看、添加和删除环境变量
#node中常用的环境变量是NODE_ENV。首先,检查echo $NODE_ENV#是否存在。如果不存在,添加环境变量export NODE_ENV=production#环境变量附加值export path=$ path :/home/download 3360/usr/local/#有时需要删除环境变量unset NODE_ENV#有时需要永久显示所有环境变量ENV
打开配置文件
#所有用户生效vim /etc/profile#当前用户生效vim ~/。bash_profile在文件末尾添加如下语句来设置或修改环境变量
#在文件末尾添加以下格式的环境变量export path=$ path :/home/download :/usr/local/export node _ env=product。最终修改后,您需要运行以下语句来重新加载系统
# source /etc/profile修改后的/etc/profile # source ~/。修改后的bash_profile。bash _ profile解决了环境带来的后端接口转换问题
弄清楚这个问题后,我们可以在不同环境的机器上设置不同的NODE_ENV,虽然这个字段不是必须的。也可以切换到其他NODE _ ENV _ NIZUISHUAI等等,反正都是定制的。
解决步骤
1.修改代码中的后端地址配置
用field process.env.NODE_ENV来判断非常简单。(process是节点的全局属性,直接使用就可以了。)
2.在linux上设置环境变量
导出NODE_ENV=dev,然后你就可以愉快地开始这个项目了。
说在最后
因为我现在正在React服务器上渲染这个项目。因此,后端请求转发不会交给nginx处理。和普通的纯单页应用一样,nginx一般用于请求转发。
这篇文章写得很快,哈哈,如果这篇文章有什么瑕疵,请给我一些建议,我会学会学习的。
另外,如果这篇小文章对你有帮助,请给我一个赞美,这将是我继续下去的巨大动力。
谢谢~ ~
参考
环境变量——JasperXu的博客:http://sorex.cnblogs.com/p/6200940.html如何看待和设置NODE_ENV的值?http://cnodejs.org/topic/587dc8a62967eeb01aafe87b node . js的:进程模块: http://www.css88.com/archives/4548注:【如何配置环境变量】是直接引用的JasperXu博客的环境变量。
摘要
以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。有问题可以留言交流。谢谢你的支持。
版权声明:Node.js中环境变量process.env的详细说明是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。