后端

环境变量Env Var

你可能会说

密钥不能直接写进代码里,那应该放哪?

环境变量是在代码外保存设置值、让不同运行地点读取各自配置的方式。例如本机测试、测试地址和正式网站可以分别使用不同服务地址或密钥。会发到浏览器的设置谁都能查看,真正的密钥只能留在服务器。.env 常用来在本机保存这些值,但它不是保险箱,也不应上传到代码仓库。
.env · 本地开发配置 OPENAI_API_KEY=sk-proj-•••••• DATABASE_URL=postgres://••••
process.env.OPENAI_API_KEY 🛡 .gitignore 规则已匹配;提交前再看 git status
组成结构 · Anatomy
OPENAI_API_KEY=sk-proj-••••••  # 本地开发用,别提交
全大写加下划线是惯例,代码里按这个名字读
等号后面是实际配置值;包含密钥时,截图前要遮盖
# 开头,给人看的备注,程序会忽略
常见变体 · Variants
本地 .env.env
.env
本地开发使用,通常应由 .gitignore 排除
平台环境变量Platform Env
Vercel → Settings → Env
部署平台设置页里再配一份
示例模板.env.example
.env.example
告诉别人要配啥,不写真值
典型使用场景
.env 文件示例
.env🔒 不提交
# 本地开发用
OPENAI_API_KEY=sk-proj-8fk2••••••
DATABASE_URL=postgres://localhost:5432
代码读取变量名
api.js
const key = process.env.OPENAI_API_KEY;
const res = await askAI(prompt, key);
代码读取变量名;本地变更配置值通常不需要修改代码
.gitignore 忽略未跟踪文件
.gitignore
node_modules
dist
.env
🛡 匹配规则的未跟踪文件会被 git add 跳过;提交前仍要看 git status
Vercel 环境变量设置页
Environment Variables
KEY
VALUE
环境
OPENAI_API_KEY
••••••••
Production
DATABASE_URL
••••••••
Production