在Python和Node.js中,.env文件用于管理环境变量,实现配置与代码分离。以下是具体配置方法及最佳实践:
1. Node.js 配置 .env 文件
步骤
-
安装
dotenv包npm install dotenv -
创建
.env文件
在项目根目录下创建.env文件,内容格式为KEY=VALUE:PORT=3000 DB_HOST=localhost SECRET_KEY=mysecretkey -
加载
.env文件
在入口文件(如app.js)顶部加载配置:require('dotenv').config(); console.log(process.env.PORT); // 输出: 3000 -
使用环境变量
const port = process.env.PORT || 8080; // 支持默认值
高级用法
• 多环境配置:
创建不同文件(如 .env.production),通过 NODE_ENV 动态加载:
require('dotenv').config({ path: `.env.${process.env.NODE_ENV}` });
• 安全提示:
• 将 .env 添加到 .gitignore。
• 提供 .env.example 模板供团队参考。
2. Python 配置 .env 文件
步骤
-
安装
python-dotenv包pip install python-dotenv -
创建
.env文件
内容格式与Node.js一致:API_KEY=abc123 DEBUG=True -
加载
.env文件
在Python脚本中加载配置:from dotenv import load_dotenv import os load_dotenv() # 默认加载当前目录的.env文件 api_key = os.getenv("API_KEY") debug = os.getenv("DEBUG", "False").lower() == "true" # 类型转换示例 -
使用环境变量
if debug: print(f"API Key: {api_key}")
高级用法
• 自定义路径:
load_dotenv("/path/to/.env")
• 批量获取变量:
all_vars = dict(os.environ) # 获取所有环境变量
• 敏感数据保护:
避免硬编码敏感信息,优先通过环境变量传递。
3. 共享配置的最佳实践
• 统一格式:使用JSON或YAML文件(如 config.json),双方通过各自库解析。
• 环境变量优先级:生产环境优先使用系统级环境变量(如云服务配置)。
• 文档化:维护 README 说明配置项含义及示例。
总结
• Node.js:dotenv + process.env,支持动态环境加载。
• Python:python-dotenv + os.getenv(),灵活处理类型转换。
• 通用原则:隔离敏感数据,避免提交 .env 到版本控制。