环境变量基础概念与重要性
- 定义环境变量及其在应用开发中的作用
- 区分开发、测试、生产环境配置的必要性
- Node.js 中
process.env 的基本用法
本地开发环境配置方法
- 使用
.env 文件与 dotenv 库加载变量 - 示例:创建
.env 文件并注入敏感配置
DB_HOST=localhost
DB_USER=root
DB_PASS=secret
- 通过
require('dotenv').config() 读取配置
生产环境部署策略
- 服务器环境变量设置(如 Linux 的
export 或 Windows 环境变量面板) - 云平台(AWS、Heroku、Vercel)的环境变量配置界面操作
- 容器化部署(Docker)中通过
-e 参数传递变量
安全性与最佳实践
- 避免将
.env 文件提交至版本控制系统(通过 .gitignore 排除) - 使用加密工具管理敏感变量(如 AWS KMS 或 Vault)
- 环境变量命名规范与分组建议(如
API_ 前缀隔离接口相关配置)
调试与常见问题处理
- 检查环境变量是否加载的调试技巧(
console.log(process.env)) - 典型问题:变量未定义、拼写错误、作用域未生效的解决方案
- 跨平台兼容性注意事项(如变量大小写敏感问题)
高级应用场景
- 动态环境变量与条件配置(根据
NODE_ENV 切换数据库连接) - 结合 TypeScript 的类型安全增强(声明
env.d.ts 类型定义) - 自动化测试中的环境变量模拟(Jest 的
setupFiles 配置示例)
工具与扩展推荐
- 多环境管理工具(如
cross-env 解决跨平台脚本执行问题) - 可视化配置工具(如
env-cmd 或 config 库支持多文件切换) - 监控与告警:环境变量变更的日志跟踪方案