You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vite React-ts部署Vercel后import.meta.env环境变量未生效问题

解决Vite React-TS项目部署到Vercel后环境变量undefined的问题

我来帮你捋捋可能的问题点,之前踩过类似的坑,这些方向可以逐个排查:

  • 检查Vercel环境变量的命名与前缀
    Vite要求环境变量必须以VITE_开头才能被注入到客户端代码中,你在Vercel配置的变量名必须和代码里的VITE_VERCEL_XXX完全一致——包括大小写、前缀和后缀,不能有拼写错误。比如别把VITE_写成Vite_或者漏掉下划线。

  • 确认Vercel环境变量的生效环境
    在Vercel配置环境变量时,要注意选择对应的环境(Production/Preview/Development)。如果你只在Development环境下配置了变量,那Production部署的版本是拿不到的。进入Vercel项目的「Settings」→「Environment Variables」,检查目标部署环境下是否存在该变量。

  • 验证Vercel的构建命令与模式
    Vite的环境变量是在构建阶段注入的,所以要确保Vercel用了正确的构建命令。Vite项目默认的构建命令是npm run build,你可以在Vercel项目的「Settings」→「Build & Development Settings」里确认。另外,也可以尝试在构建命令里明确指定模式:

    npm run build --mode production
    

    确保Vite以生产模式构建,正确读取对应环境的变量。

  • 查看Vercel构建日志,确认变量是否被注入
    部署完成后,进入Vercel项目的「Deployments」页面,点击对应部署记录的「Logs」,搜索你配置的变量名(比如VITE_VERCEL_XXX),看看构建过程中是否有加载到这个变量。如果日志里找不到,说明变量配置没有生效,需要重新检查配置。

  • 清除缓存后重新部署
    Vercel有时候会复用之前的构建缓存,导致新配置的环境变量没有被加载。你可以在部署记录里选择「Redeploy」,然后勾选「Clear build cache and deploy」,强制重新构建并加载最新的环境变量。

  • 检查Vite配置文件的envPrefix设置
    打开你的vite.config.ts,看看有没有修改过envPrefix选项。Vite默认的前缀是VITE_,如果你改成了其他值(比如APP_),那Vercel里的变量名也需要对应改成新前缀开头的名字,否则无法被Vite识别。

按照上面的步骤逐一排查,应该能找到问题所在。我之前就是因为在Vercel里把环境变量的前缀写错了,导致生产环境拿不到值,改完重新部署就正常了。

内容的提问来源于stack exchange,提问作者Gabriel Silva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 16:25:15