node.js学习笔记6:全局对象process

node内置对象分为三类

  1. 全局对象:何时何处都能访问(如:process)
  2. 核心对象:向系统索要,引入即可使用(如http,fs)
  3. 自定义对象: 按路径引入即可

其中通过process全局对象能够获取与进程相关的内容。

process(全局对象)

1. process.argv可以用于获取命令行参数
1
2
// 文件名为process.js
console.log(process.argv);

不同于之前提到的核心对象,全局对象不需要引入,可以直接使用。

process全局对象会返回与进程相关的内容。其中,process.argv会返回一个数组,数组的第一个元素为启动 node.js 进程的可执行文件所在的绝对路径,即 process.execPath ,第二个元素为当前执行文件的路径,输出结果为

process.argv

因为process为全局对象,因此也可以直接使用终端访问。

image.png

如果以 console.log() 的方式访问,第二个元素,即文件的绝对路径为 undefined 。

直接访问process.argv

process.argv可以返回当条命令的所有命令行参数,即可以在命令行后面添加新的元素,返回内容将以空格为标准,在结果数组中添加元素。

返回命令行参数

2. process.env属性返回一个对象,内容为用户执行命令的环境。

process.env同样可以直接在命令行执行,返回的结果是一个object。
node.js官网上的示意图

我们可以通过属性名来获取具体的环境变量值。

设置一个特定的环境变量,可以达到简单区分不同机器,从而对生产/开发环境运行不同效果的作用

windows系统下可以在 我的电脑 =>属性=>高级系统设置=>环境变量 里添加新的环境变量
mac下实现的方法网上推荐了很多,大多是的确需要修改环境变量的例子,很少作为学习node.js时候测试的方法,这里用node.js官网中的例子,直接在命令行中进行操作。

设置环境变量