简介

环境变量(environment variables) 不属于 NodeJS 范畴,它是操作系统用于设定执行环境的参数。会在程序运行时传递给应用程序。
NodeJS 获取环境变量,是通过 global 对象中的 process 进程对象获取的。

process.env.env_name          //获取对应环境变量的值

应用

环境变量在 NodeJS中的应用,常用于区分当前的环境是测试环境还是正式环境

if(process.env.NODE_ENV === ‘dev’){//测试环境
}else{//正式环境
}

也可以进一步的根据环境导出对应的参数配置(参数的导出完全在配置文件内部自己判断,自己消化)

# config.jsvar 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 PATHset 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

转载于:https://www.cnblogs.com/HCJJ/p/9089258.html

NodeJS学习:环境变量相关推荐

  1. NodeJS的环境变量process.env.*

    NodeJS的环境变量process.env.* 在学习一些关于node框架时,经常会看到类似的代码 if (process.env.NODE_ENV === 'production') {modul ...

  2. UNIX再学习 -- 环境变量

    之前讲gcc编译的时候,参看:C语言再学习 -- GCC编译过程 提到过静态库和共享库,那时只是简单的讲了下它们相关的编译链接,接下来就该详细介绍它们了.不过再讲解之前还需了解一下编程相关的环境变量. ...

  3. linux xampp 环境变量,XAMPP相关:Linux学习-环境变量和可执行属性

    文件的可执行属性和环境变量 Linux下文件有一个特殊的属性即可执行属性,用来指示这个文件是一个可执行的脚本或可以运行的二进制文件.前面所提到的这些命令,都具有可执行属性. which: 表示查看命令 ...

  4. linux+多个文件环境变量,Linux学习-环境变量和可执行属性

    文件的可执行属性和环境变量 Linux下文件有一个特殊的属性即可执行属性,用来指示这个文件是一个可执行的脚本或可以运行的二进制文件.前面所提到的这些命令,都具有可执行属性. which: 表示查看命令 ...

  5. 【Linux学习笔记】27:环境变量中的语系变量

    语系就是用的是什么人类语言,本节专门学习环境变量中的语系变量. [1]locale确定系统当前语系 [root@bogon ~]# locale LANG=zh_CN.UTF-8 LC_CTYPE=& ...

  6. Java开发环境变量配置

    一.环境准备 Windows10 专业版.jdk-8u144-windows-x64.apache-tomcat-7.0.54-windows-x64.apache-maven-3.5.0-bin.n ...

  7. nodejs学习---1、命令行和环境变量

    命令行(CMD窗口.dos窗口.shell.终端terminal) -打开方式:win+r => cmd 回车 -通过命令行窗口也可以用来对计算机做各种操作,本质上和图形化界面没有区别 -常用的 ...

  8. node php环境变量配置,关于NodeJS、NPM安装配置步骤(windows版本) 以及环境变量的介绍...

    本篇文章主要介绍了NodeJS.NPM安装配置步骤(windows版本) 以及环境变量详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.windows下的NodeJS安装是比较方便的(v0. ...

  9. nodejs 获取系统环境变量_Node.js中环境变量process.env的一些事详解

    前言 最近这两天在和运维GG搞部署项目的事儿.碰到一个问题就是,咱们的dev,uat,product环境的问题. 因为是前后端分离,所以在开发和部署的过程中会有对后端接口的域名的切换问题.折腾了一下午 ...

最新文章

  1. 2009年国内十强开源CMS排行榜[转]
  2. SAP PM IW33里查看维护订单相关的维护计划
  3. python 多线程笔记(6)-- 闭包
  4. c#10中的namespace
  5. Port already in use: 1099;
  6. 痛失大家!中国科学院院士陈家镛逝世
  7. 数据科学和人工智能技术笔记 十五、支持向量机
  8. web 前端常用组件【02】Select 下拉框
  9. 不是区块链的特征_《区块链的特征》阅读练习及答案
  10. C#导入Excel报错问题3。
  11. python爬虫和Java爬虫哪个更好
  12. app采集的10个经典方法
  13. velocity 语法简记
  14. android手游开发三维地图高清版,全球地图3D模拟器
  15. 网络设置管理 NetSetMan Pro v4.7.1 Lite 绿色便携版
  16. 用飞桨,为少数民族濒危语言生成一本词典
  17. 2.try、catch、finally执行顺序 以及final、finally和finalize的区别
  18. Blender学习笔记-印花(decal)贴图
  19. Linux 磁盘管理-配额管理-配置用户对磁盘进行指定大小或者文件数量的使用权限
  20. 51单片机10S秒表功能

热门文章

  1. 服务器没有显示器能接笔记本吗,笔记本能连显示器吗_笔记本能不能接显示器...
  2. C++读取netcdf文件
  3. 一文学会回溯算法解题技巧
  4. Win7 64b的VS2015 如何使用nmake成功编译detour express 3.0-error2202 警告被视为错误 - 没有生成“object”文件
  5. python 标贝 模拟人声/语音克隆/语音复刻(API)体验
  6. 微信支付分 - 取消支付分API
  7. docx文档文字怎么加边框,word文档中设置边框的方法步骤
  8. python 使用多个elif代码块 计算阶梯电费
  9. 【程序人生】领导素质 | 第 5 级领导力:个人谦逊和坚定意志的胜利 | Level 5 Leadership: The Triumph of Humility and Fierce Resolve
  10. 【ESP 保姆级教程】疯狂毕设篇 —— 案例:基于物联网的GY906红外测温门禁刷卡系统