📜  Node.js process.env 属性(1)

📅  最后修改于: 2023-12-03 15:03:13.910000             🧑  作者: Mango

Node.js process.env 属性

在 Node.js 中,process 是一个全局对象,代表 Node.js 应用程序的当前进程,其中 process.env 是一个包含所有的环境变量的对象。本文将介绍 Node.js 中的 process.env 属性的使用方法。

什么是环境变量?

环境变量是指操作系统为了方便用户或其他程序在运行时提供的一些全局参数,例如 PATH、HOME、NODE_ENV 等。在 Node.js 中,也可以通过 process.env 来访问这些环境变量。

process.env 的用法
访问环境变量的值

可以通过 process.env.变量名 来访问环境变量的值,例如:

const port = process.env.PORT || 3000
console.log(`Server is running on port ${port}`)

以上代码中,我们通过 process.env.PORT 获取环境变量中的端口号,如果没有设置该环境变量,则默认使用 3000 端口。

设置环境变量的值

可以通过 process.env.变量名 = 值 的方式来设置环境变量的值,例如:

process.env.NODE_ENV = 'production'
console.log(`Running in ${process.env.NODE_ENV} mode.`)

以上代码中,我们设置了 NODE_ENV 环境变量的值为 production,并打印出当前运行模式。

删除环境变量

可以通过 delete process.env.变量名 的方式来删除环境变量,例如:

delete process.env.SECRET_KEY
console.log(`SECRET_KEY has been deleted.`)

以上代码中,我们删除了 SECRET_KEY 环境变量,并打印出删除成功的消息。

用途示例

下面是一些使用 process.env 属性的示例:

1. 配置文件

可以使用环境变量来指定应用程序的配置文件,例如:

const config = require(process.env.CONFIG_PATH || './config/default.json')
console.log(`Loaded configuration file from ${process.env.CONFIG_PATH || 'default.json'}.`)

以上代码中,我们通过环境变量 CONFIG_PATH 指定了配置文件的路径,如果没有设置该环境变量,则默认使用 ./config/default.json 文件。

2. 加密密钥

可以使用环境变量来存储加密密钥,例如:

const crypto = require('crypto')
const secret = process.env.SECRET_KEY || crypto.randomBytes(32).toString('hex')
console.log(`Using "${secret}" as encryption key.`)

以上代码中,我们通过环境变量 SECRET_KEY 来存储加密密钥,如果没有设置该环境变量,则会自动生成一个随机的密钥,并将其打印出来。

小结

process.env 属性是 Node.js 中用来访问、设置和删除环境变量的对象,可以用于多种场景下,例如配置文件、加密密钥等。熟练掌握该属性的使用方法,能够使我们的程序更为灵活和便捷。