Vue 3项目中开发和生产环境都需要的公共变量,是否放在.env文件中
·
✅ 推荐使用 .env 文件来管理公共环境变量,但需要遵循正确的命名和使用规范。
✅ 正确做法:使用 .env 文件 + VITE_ 前缀(适用于 Vite 项目)
Vue 3 项目大多数使用 Vite 作为构建工具,Vite 对环境变量的处理规则如下:
只有以 VITE_ 开头的变量才会被暴露到 import.meta.env 中。
📁 推荐的环境变量文件结构
.env # 所有环境下都加载(公共变量)
.env.development # 只在开发环境加载
.env.production # 只在生产环境加载
示例
1. .env(公共变量,所有环境共享)
# 公共变量 - 所有环境都可用
VITE_APP_NAME=MyApp
VITE_API_BASE_URL=https://api.example.com
VITE_SENTRY_DSN=xxxxxx
2. .env.development(开发环境专用)
VITE_API_BASE_URL=http://localhost:3000/api
VITE_DEBUG=true
3. .env.production(生产环境专用)
VITE_API_BASE_URL=https://prod-api.example.com
VITE_DEBUG=false
⚠️ 注意:.env 中的变量会被 .env.development 或 .env.production 中同名变量覆盖。
✅ 在代码中使用
console.log(import.meta.env.VITE_API_BASE_URL); // ✅ 输出对应环境的值
console.log(import.meta.env.VITE_APP_NAME); // ✅ 公共变量,所有环境都有
❌ 错误做法(不会生效)
# .env 文件中
API_URL=https://api.example.com # ❌ 没有 VITE_ 前缀,前端访问不到!
console.log(import.meta.env.API_URL); // ❌ undefined
✅ 总结:如何管理公共变量?
| 需求 | 推荐方式 |
|---|---|
| 开发和生产都用的变量 | 放在 .env 文件中,且以 VITE_ 开头 |
| 环境差异变量(如 API 地址) | 在 .env.development 和 .env.production 中分别定义 |
| 敏感信息(如私钥) | ❌ 不要放在 .env 中提交到代码仓库!使用服务端接口或 CI/CD 注入 |
🔐 安全建议
- 将 .env.local 加入 .gitignore,避免泄露敏感配置。
- 公共变量(如应用名、第三方 SDK 的公开 key)可以提交到版本控制。
- 不要将后端私钥、数据库密码等放入 .env 文件。
✅ 结论
是的,开发和生产环境共用的公共变量应该放在 .env 文件中,但必须以 VITE_ 开头(Vite 项目),才能在前端代码中通过 import.meta.env 访问到。
更多推荐


所有评论(0)