在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
到版本控制。