✅ 推荐使用 .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 访问到。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐