Node10 process.env对象

process对象

process对象是Node的一个全局独享,提供当前Node进程的信息。他可以在脚本的任意位置使用,不必通过require命令加载

属性

process对象提供了一系列的属性,用于返回系统信息

  • process.argv:返回一个数组,成员是当前进程的所有命令行参数
  • process.env:返回一个对象,成员为当前Shell的环境变量
  • process.pid:返回一个数字,表示当前进程的进程号
  • process.platform:返回一个字符串,表示当前的操作系统,比如Linux
  • process.version:返回一个字符串,表示当前使用的 Node 版本,比如v7.10.0

process.env

process.env返回一个对象,包含了当前Shell的所有环境变量

通常的做法是,新建一个环境变量NODE_ENV,用它确定当前所处的开发阶段,生产阶段设定为production,开发阶段设定为development,然后在脚本中读取process.env.NODE_ENV

运行脚本时改变环境变量可以采用下面的写法:

NODE_ENV=production node app.js

cross-env

如果按照上面的写法,在windows系统下是会报错的:

'NODE_ENV' 不是内部或外部命令,也不是可运行的程序或批处理文件。

因为windows下不支持这种设置环境变量的方式,正确的方法是:

set NODE_ENV=production && node app.js

但是这样需要维护两个脚本命令,使用cross-env就可以解决这个问题

cross-env提供了一个设置环境变量的脚本,让我们能够以linux的方式设置环境变量,在windows下可以兼容运行

安装:

npm install cross-env --save-dev

使用时只需要在原来的脚本前面加上cross-env就可以了

cross-env NODE_ENV=development nodemon ./index.js 

参考

猜你喜欢

转载自blog.csdn.net/duola8789/article/details/80935472
今日推荐