在 Node.js 中,process.env
是一个全局对象,它包含了当前 Node.js 进程的环境变量。你可以使用 process.env
来访问和设置环境变量,这对于管理不同环境下的配置(如数据库连接字符串、API 密钥等)非常有用。
1. 访问环境变量
要访问环境变量,你可以直接通过 process.env
对象访问它们。如果环境变量不存在,process.env
将返回 undefined
。
示例代码:
console.log(process.env.NODE_ENV); // 输出当前的 NODE_ENV 环境变量
console.log(process.env.MY_API_KEY); // 输出自定义的环境变量
2. 设置环境变量
在 Node.js 应用程序中,你可以在启动脚本中设置环境变量,或者在代码中动态设置环境变量。
在命令行中设置环境变量:
# Unix/Linux/Mac
NODE_ENV=production node app.js
# Windows
set NODE_ENV=production && node app.js
在代码中设置环境变量:
process.env.MY_API_KEY = 'your-api-key';
3. 使用环境变量
你可以在应用程序的任何地方使用环境变量,例如在配置数据库连接或 API 请求时。
示例代码:
const dbConfig = {
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD
};
// 使用 dbConfig 连接数据库
4. 使用 .env
文件
为了更好地管理环境变量,你可以在项目根目录下创建一个 .env
文件,并使用 dotenv
包来加载这些环境变量。
安装 dotenv:
npm install dotenv
加载 .env
文件:
require('dotenv').config();
console.log(process.env.NODE_ENV); // 将输出 .env 文件中定义的 NODE_ENV 值
在 .env
文件中,你可以定义多个环境变量:
NODE_ENV=development
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=s1mpl3
5. 注意事项
- 出于安全考虑,不要在
.env
文件中存储敏感信息,如生产环境的 API 密钥或密码。 - 在部署应用程序时,确保在服务器或云服务提供商的环境中正确设置了环境变量。
- 使用环境变量可以提高应用程序的灵活性和安全性。
通过使用 process.env
,你可以轻松地管理和使用环境变量,从而使你的 Node.js 应用程序更加适应不同的运行环境。