博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node.js中环境变量process.env详解
阅读量:6689 次
发布时间:2019-06-25

本文共 1663 字,大约阅读时间需要 5 分钟。

Node.js中环境变量process.env详解

process | Node.js API 文档
官方解释:process 对象是一个 global (全局变量),提供有关信息,控制当前 Node.js 进程。
作为一个对象,它对于 Node.js 应用程序始终是可用的,故无需使用 require()。
process(进程)其实就是存在nodejs中的一个全局变量,所有模块都可以调用。

node框架经常会看到类似的代码:

if (process.env.NODE_ENV === 'production') {
module.exports = require('./prod.js')
} else {
module.exports = require('./dev.js')
}

该对象表示Node所处的当前进程,允许开发者与该进程互动。

打开命令行,输入node,再输入process.env,可以看见process.env是一个对象。

on Windows:

set NODE_ENV=dev
on OS X or Linux:

export NODE_ENV=dev

直接写在js文件:
process.env.NODE_ENV = 'production';
然后在package.json:
"scripts": {
"start": "set NODE_ENV=dev && node app.js"
}

------------------------

Windows配置

临时配置

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

永久配置

右键(此电脑) -> 属性(R) -> 高级系统设置 -> 环境变量(N)...

----------------------

Linux配置

临时

查看环境变量,添加环境变量,删除环境变量

#node中常用的到的环境变量是NODE_ENV,首先查看是否存在

echo $NODE_ENV
#如果不存在则添加环境变量
export NODE_ENV=production
#环境变量追加值
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 = product
最后修改完成后需要运行如下语句令系统重新加载

# 修改/etc/profile文件后

source /etc/profile
# 修改~/.bash_profile文件后
source ~/.bash_profile
-------------------

解决环境导致后端接口变换问题

可以在不同环境的机器上设置不同的 NODE_ENV,这个字段可以换成其他自定义的。

解决步骤

1.修改代码里的后端地址配置
利用 process.env.NODE_ENV这个字段来判断。(process是node全局属性,直接用就行了)

2.在linux上设置环境变量

export NODE_ENV=dev

纯单页应用,一般是用nginx进行请求转发

转载地址:http://amhao.baihongyu.com/

你可能感兴趣的文章
第十二章 简单工厂模式(Simple Facotry)
查看>>
LeetCode - 70. 爬楼梯
查看>>
visualVm监控tomcat
查看>>
Jquery script for document preview?
查看>>
【Magedu】Week02
查看>>
写给MongoDB开发者的50条建议Tip12
查看>>
我的友情链接
查看>>
linux下查看nginx,apache,mysql,php编译命令
查看>>
JQUERY学习第三天之浮动和弹出窗口
查看>>
python中asynchat异步socket命令/响应处理
查看>>
动态编译
查看>>
linux下批量解压缩
查看>>
使用xcopy进行日增量备份
查看>>
知之者不如好之者,好之者不如乐之者
查看>>
测试Application.Idle
查看>>
sizeof与strlen的区别与联系
查看>>
Citrix发布支持Framehawk技术的HDX协议,用户体验优势进一步扩大
查看>>
Android各种访问权限Permission详解
查看>>
RHEL5.5安装中文支持
查看>>
web前端开发中浏览器兼容问题(五)
查看>>