如何使用 dotenv 加载环境变量

430 阅读2分钟

在开发 Node.js 应用程序时,经常需要使用环境变量来配置应用程序的行为,比如数据库连接信息、API 密钥等敏感信息。而 dotenv 模块可以帮助我们简化环境变量的加载过程,让配置变得更加简单和安全。

什么是 dotenv?

dotenv 是一个 Node.js 模块,用于加载环境变量。它可以从 .env 文件中加载环境变量,并将其注入到 Node.js 的 process.env 对象中,以便应用程序在运行时可以访问这些环境变量。

安装 dotenv

首先,我们需要在项目中安装 dotenv 模块。可以通过 npm 或 yarn 来安装:

npm install dotenv
# 或者
yarn add dotenv

使用 dotenv

1. 加载环境变量

使用 dotenv 的最基本方法是调用 config 方法,它会加载 .env 文件中的环境变量,并将其注入到 process.env 对象中。

const dotenv = require('dotenv');
dotenv.config();

2. 解析环境变量

如果你想要手动解析 .env 文件中的内容,而不是直接注入到 process.env 中,可以使用 parse 方法。

const dotenv = require('dotenv');
const fs = require('fs');
const envContent = fs.readFileSync('.env');
const envVariables = dotenv.parse(envContent);
console.log(envVariables);

3. TypeScript 支持

如果你在使用 TypeScript,可以通过类型断言来使用 parse 方法,以获取正确的类型推断。

import * as dotenv from 'dotenv';
import * as fs from 'fs';

const envContent = fs.readFileSync('.env');
const envVariables = dotenv.parse(envContent.toString()) as Record<string, string>;
console.log(envVariables);

4. .env 文件格式

.env 文件是一个简单的文本文件,每一行都是一个键值对,格式如下:

KEY=VALUE

示例

假设我们有一个 .env 文件,其中包含了数据库连接信息:

DB_HOST=localhost
DB_USER=root
DB_PASS=password

我们可以在应用程序中这样使用这些环境变量:

const dbConfig = {
  host: process.env.DB_HOST,
  user: process.env.DB_USER,
  password: process.env.DB_PASS,
};

console.log(dbConfig);

结论

通过使用 dotenv 模块,我们可以轻松地加载和管理环境变量,使得应用程序更加灵活和可配置。同时,它还可以帮助我们更安全地管理敏感信息,避免将其硬编码到代码中。

如果你正在开发 Node.js 应用程序,并且需要使用环境变量来配置应用程序的行为,不妨试试 dotenv 吧!


这篇文章介绍了如何使用 dotenv 模块加载环境变量,并提供了详细的示例和用法说明。希望能对你有所帮助!