Vercel环境变量访问异常:process.env返回undefined问题求助
解决Vercel上React项目process.env访问环境变量返回undefined的问题
必须使用正确的环境变量前缀:对于基于Create React App构建的项目,Vercel中添加的客户端环境变量必须以
REACT_APP_开头(比如REACT_APP_CLIENT_SECRET)。Create React App会自动将带有该前缀的环境变量注入到客户端代码中,无前缀的变量仅能在服务器端访问,纯React项目无服务器端逻辑,因此无法获取到这类变量。修改变量后必须清理缓存重新部署:在Vercel控制台添加或修改环境变量后,不要直接推送代码,进入项目的「Deployments」页面,点击「Redeploy」并选择「Clear build cache and redeploy」。Vercel在构建阶段注入环境变量,旧的构建缓存不会包含新变量,必须清理缓存重新构建才能生效。
核对环境变量的配置细节:
- 检查Vercel项目「Settings > Environment Variables」中的变量名拼写、大小写是否与代码中一致,值是否完整输入。
- 确认变量对应的环境(Production/Development/Preview)是否匹配你当前访问的部署环境,比如测试预览部署时,要确保变量添加到了Preview环境中。
代码中正确调用变量:确保代码中使用的是
process.env.REACT_APP_CLIENT_SECRET,不要遗漏前缀或者写错变量名,比如不要写成process.env.CLIENT_SECRET(无前缀会导致客户端无法获取)。
内容的提问来源于stack exchange,提问作者randomcoder3424
相关产品推荐
相关产品推荐

