node内置对象分为三类
- 全局对象:何时何处都能访问(如:process)
- 核心对象:向系统索要,引入即可使用(如http,fs)
- 自定义对象: 按路径引入即可
其中通过process
全局对象能够获取与进程相关的内容。
process(全局对象)
1. process.argv可以用于获取命令行参数
1 | // 文件名为process.js |
不同于之前提到的核心对象,全局对象不需要引入,可以直接使用。
process全局对象会返回与进程相关的内容。其中,process.argv会返回一个数组,数组的第一个元素为启动 node.js 进程的可执行文件所在的绝对路径,即 process.execPath ,第二个元素为当前执行文件的路径,输出结果为
因为process为全局对象,因此也可以直接使用终端访问。
如果以 console.log() 的方式访问,第二个元素,即文件的绝对路径为 undefined 。
process.argv可以返回当条命令的所有命令行参数,即可以在命令行后面添加新的元素,返回内容将以空格为标准,在结果数组中添加元素。
2. process.env属性返回一个对象,内容为用户执行命令的环境。
process.env同样可以直接在命令行执行,返回的结果是一个object。
我们可以通过属性名来获取具体的环境变量值。
设置一个特定的环境变量,可以达到简单区分不同机器,从而对生产/开发环境运行不同效果的作用
windows系统下可以在 我的电脑 =>属性=>高级系统设置=>环境变量 里添加新的环境变量
mac下实现的方法网上推荐了很多,大多是的确需要修改环境变量的例子,很少作为学习node.js时候测试的方法,这里用node.js官网中的例子,直接在命令行中进行操作。