Vite环境变量在Vercel生产环境返回undefined求助
解决Vite+React部署到Vercel后环境变量返回undefined的问题
以下是针对该问题的具体排查和解决步骤:
检查Vercel项目的环境变量配置
本地的.env文件不会同步到Vercel平台,必须手动在Vercel后台配置环境变量:- 进入你的Vercel项目后台,点击左侧菜单的「Settings」→「Environment Variables」
- 分别添加两个环境变量:
- 键:
VITE_API_KEY,值:someKey(不要加引号) - 键:
VITE_API_BASE_URL,值:baseurl(不要加引号)
- 键:
- 点击「Save」保存配置,然后到「Deployments」页面触发一次重新部署,确保新的环境变量注入到构建流程中。
确认.gitignore规则
检查项目根目录的.gitignore文件,确保包含.env条目,避免将本地环境变量文件提交到Git仓库(这既是安全要求,也能避免Vercel读取到过时的本地配置)。验证Vite环境变量前缀
Vite默认只识别以VITE_开头的环境变量,你的变量命名符合要求,且vite.config.ts中没有修改envPrefix配置,这部分无需调整。检查Vercel构建命令
进入Vercel项目的「Settings」→「Build & Development Settings」,确认「Build Command」设置为npm run build(或对应包管理器的yarn build/pnpm build)。Vite只有在生产构建阶段才会将环境变量注入到代码中,错误的构建命令会导致变量无法被替换。本地预验证构建结果
在本地执行npm run build生成生产包,然后打开dist文件夹下的打包JS文件,搜索你的环境变量值(比如baseurl),如果能找到对应的内容,说明代码层面没有问题,问题集中在Vercel的配置环节。
内容的提问来源于stack exchange,提问作者amir_70
相关产品推荐
相关产品推荐

