NodeJS学习:环境变量
简介
环境变量(environment variables) 不属于 NodeJS 范畴,它是操作系统用于设定执行环境的参数。会在程序运行时传递给应用程序。
NodeJS 获取环境变量,是通过 global 对象中的 process 进程对象获取的。
process.env.env_name //获取对应环境变量的值
应用
环境变量在 NodeJS中的应用,常用于区分当前的环境是测试环境还是正式环境
if(process.env.NODE_ENV === ‘dev’){
//测试环境
}else{
//正式环境
}
也可以进一步的根据环境导出对应的参数配置(参数的导出完全在配置文件内部自己判断,自己消化)
# config.js
var dev = {};
var build = {};
module.exports = process.env.NODE_ENV === ’dev' ? dev : build;
其次需要注意的是在package.json中直接为脚本(scripts)设置环境变量:
{
'run': "NODE_ENV = \" DEV \""
}
由于 script中的命令会在命令行工具中进行执行,但是不同的命令行工具,其差异性很大,而且不同的系统,其shell工具差异更大,所以跨平台的兼容性非常堪忧,基本上我们并不会直接使用上面的方式,而是通过一个NPM插件来解决:cross-env。
{
'run': "cross-env NODE_ENV = \" DEV \""
}
cross-env 的作用就是能跨平台地设置及使用环境变量。
最后,既然说到不同平台其环境变量配置具有差异,这里我就以常用的三个平台为例,来简单的学习一下环境变量的配置
环境变量设置
Windows
永久:“我到电脑” -> “属性” -> “高级系统设置” -> “环境变量” : (修改后记得保存)
临时:
set #获取所有的环境变量
set keyname #查询指定的环境变量,eg:set PATH
set keyname=value #设置一个环境变量
echo %keyname% #在控制台(CMD)中输出一个环境变量,eg: echo %PATH%
Linux
永久:如果是系统级的环境变量请使用“vi编辑器”编辑 /etc/profile 文件,如果是用户级别的环境变量,则进入到对应的用户目录修改 .profile 文件。
临时:
set #查看所有环境变量
env #只查看用户级别的环境变量
export keyname=value #设置一个环境变量
echo $keyname #显示指定环境变量的值,eg:echo $PATH
引用环境变量的格式:$keyname,因此如果想合并多个环境变量的值到一个指定的环境变量,可以通过 : 隔开。
export a=1
export b=2
export c=$a:$1
Mac OS
永久:如果修改的是系统级别的,请修改 /etc/profile文件或者是 /etc/paths,如果是用户级别的,则修改:~/.bash_profile | ~/.bash_login | ~/.profile | ~/.bashrc 等。
临时:
export keyname=value #增加环境变量
echo $keyname #输出指定环境变量的值, eg:echo $path
引用一个环境变量,则附加 $符号
export PATH=~/user/name:$PATH
NodeJS学习:环境变量的更多相关文章
- Linux学习——环境变量设置
一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量.例如我的mips-linux-gcc编译器在“/opt/au1200_rm/build_tools/bin”目录下,b ...
- mac上为nodejs设置环境变量
Mac下面的环境变量设置和Linux差不多,一般为这几个文件(左边的先加载): /etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.pro ...
- Linux学习 - 环境变量配置文件
一.环境变量配置文件的作用 /etc/profile /etc/profile.d/*.sh ~/.bash_profile ~/.bashrc /etc/bashrc 1 /etc/profile的 ...
- 【NodeJS】环境变量配置
安装完Node后,NodeJS自带npm.于是我照着网上的教程想搭一个脚手架.结果报错: ’node’ 不是内部或外部命令,也不是可运行的程序 但是我检查了一下系统环境变量,path底下有正确引用no ...
- linux学习-环境变量与文件查找
- CentOS7 编译安装nodejs,配置环境变量记录
每次都装,每次都查 阿里云备案了一个域名,续费了好多年,但是没钱买服务器,就挂在github上.今天收到消息:域名解析服务器不在阿里云,要被GG.只能咬牙买了个阿里云乞丐版. 所有服务都装好了,pin ...
- 安装Node.js、npm和环境变量的配置
由于Node.js平台是在后端运行JavaScript代码,所以,必须首先在本机安装Node环境. 一.安装Node.js 首先,从Node.js官网下载对应平台的安装程序,网速慢的童鞋请移步国内镜像 ...
- webpack配置中环境变量-process.env. NODE_ENV
背景 webpack有一特性就是可以让使用者灵活的在不同环境(开发环境,生产环境等)进行相应的特性的策略打包,比如: 是否使用反向代理使用接口,针对不同的静态资源(如图片等)是直接拷贝还是进行打包编译 ...
- Nodejs学习笔记(一)--- 简介及安装Node.js开发环境
目录 学习资料 简介 安装Node.js npm简介 开发工具 Sublime Node.js开发环境配置 扩展:安装多版本管理器 学习资料 1.深入浅出Node.js http://www.info ...
随机推荐
- Spring之事务操作(注解)
事务操作步骤: <!-- 第一步.配置事务管理器 --> <bean id="transactionManager" class="org.spring ...
- 51nod 1476 括号序列的最小代价(贪心+优先队列)
题意 我们这有一种仅由"(",")"和"?"组成的括号序列,你必须将"?"替换成括号,从而得到一个合法的括号序列. 对于 ...
- docker--从仓库下载镜像到推送自己的项目到仓库步骤详解
怎样从仓库下载的镜像,变成容器,并在容器中制作项目,再将容器变成镜像,然后将镜像推送到仓库? 一:从官网下载镜像 官方的https://hub.docker.com/提供了数十万个镜像提供大家下载 以 ...
- Teams UVA - 11609(快速幂板题)
写的话就是排列组合...但能化简...ΣC(n,i)*C(i,1) 化简为n*2^(n-1) ; #include <iostream> #include <cstdio> # ...
- Strategic Game HDU - 1054(最小顶点覆盖)
最小顶点覆盖:用最少的点,让每条边都至少和其中一个点关联: ...以为自己很聪明..用边连边...最后还是点连点 哎.... hc 写的 匈牙利足够///// #include <iostr ...
- MT【105】待定系数算最大最小
已知$x,y,z>0$,则$max\{2x,\frac{1}{y},y+\frac{1}{x}\}$的最小值______ 分析:首先关注到$2x=\frac{1}{y}=y+\frac{1}{x ...
- 【刷题】BZOJ 3944 Sum
Description Input 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N,代表一组询问 Output 一共T行,每行两个用空格分隔的数ans1,ans ...
- bzoj 4631: 踩气球 线段树合并
4631: 踩气球 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 265 Solved: 136[Submit][Status][Discuss] ...
- tmux终端复用/tmate终端共享
目录 tmux tmate tmux 一种终端复用工具,是终端中的窗口管理器.常见的一种用途是在关闭父shell时保持程序运行(常用于ssh访问断开连接后保持运行).linux上可通过包管理器进行安装 ...
- Python里面这些点,据说80%的新手都会一脸懵逼
Python里面这些点,据说80%的新手都会一脸懵逼 菜鸟Python 关注 2018.10.10 12:51 字数 1833 阅读 123评论 0喜欢 10 Python虽然语法简单,通俗易懂,但是 ...