Appearance
dotenv
简介
dotenv 是一个零依赖的模块,它能将环境变量从 .env 文件加载到 p 中。将项目的配置与代码分离是一种很好的实践。
安装
bash
npm install dotenv基本使用
- 在项目根目录创建
.env文件:
plaintext
DB_HOST=localhost
DB_USER=root
DB_PASS=123456- 在项目入口文件中尽早加载:
javascript
require('dotenv').config()
console.log(process.env.DB_HOST) // 输出: localhost高级配置
javascript
require('dotenv').config({
path: '/custom/path/to/.env', // 自定义 .env 文件路径
encoding: 'utf8', // 指定编码
debug: process.env.DEBUG, // 开启调试模式
})最佳实践
永远不要提交 .env 文件到版本控制
- 将
.env添加到.gitignore - 提供
.env.example作为模板
- 将
验证必需的环境变量
javascript
const required = ['NODE_ENV', 'API_KEY']
required.forEach((param) => {
if (!process.env[param]) {
throw new Error(`Environment parameter ${param} is missing`)
}
})- 使用类型安全的环境变量
javascript
const getEnvVar = (key) => {
if (process.env[key] === undefined) {
throw new Error(`${key} is undefined`)
}
return process.env[key]
}
const config = {
nodeEnv: getEnvVar('NODE_ENV'),
port: parseInt(getEnvVar('PORT'), 10),
apiKey: getEnvVar('API_KEY'),
}注意事项
- 环境变量始终是字符串
- 空值会被视为空字符串
.env文件应该在生产环境外部配置- 多行值需要使用引号