React前端环境变量undefined问题排查求助
React前端.env变量undefined问题排查
- 核心原因大概率是项目类型不匹配环境变量规则:你用
yarn run dev启动,说明项目更可能是Vite创建的,而非传统Create React App(CRA)项目,两者的环境变量规则存在差异:- CRA要求变量前缀为
REACT_APP_,通过process.env访问 - Vite要求变量前缀为
VITE_,通过import.meta.env访问
- CRA要求变量前缀为
具体修复步骤
- 修改.env文件:
将REACT_APP_SIGNER_PK = xxxxxx-xxxxx-xxxxxx改为VITE_SIGNER_PK=xxxxxx-xxxxx-xxxxxx(注意去掉等号两侧的空格,避免解析异常) - 调整脚本中的变量获取方式:
把const REACT_APP_SIGNER_PK = process.env.REACT_APP_SIGNER_PK;改为const signerPk = import.meta.env.VITE_SIGNER_PK; - 重新执行
yarn run dev重启服务
额外验证点(针对CRA项目)
如果你的项目确实是CRA项目(package.json中有react-scripts依赖),请检查:
- package.json的scripts里,
dev命令是否配置为"dev": "react-scripts start" - 确保.env文件中变量格式为
REACT_APP_SIGNER_PK=xxxxxx(无等号两侧空格) - 重启服务后再次测试
内容的提问来源于stack exchange,提问作者Nikita Kulikov
相关产品推荐
相关产品推荐

