React项目使用EmailJS时无法读取.env文件中的配置项如何解决
解决方案
你可以按以下步骤排查修复问题:
- 修正环境变量读取语法
React 中所有REACT_APP_开头的自定义环境变量,必须通过process.env前缀访问,直接写变量名无法读取到对应值。请将useContact.jsx中的代码修改为:
const template = process.env.REACT_APP_TEMPLATE_ID const user = process.env.REACT_APP_USER_ID
- 清理.env文件的多余空格
你当前.env配置中等号后存在多余空格,空格会被识别为值的一部分,导致ID和emailjs要求的不匹配,请修改为:
REACT_APP_USER_ID=user_id REACT_APP_TEMPLATE_ID=template_id
- 确认.env文件位置正确
你当前把.env放在和package.json同级的项目根目录是正确配置,不要将.env移动到src文件夹内,否则React无法加载到环境变量。 - 重启开发服务器
修改.env文件后必须重启React开发服务,环境变量只会在服务启动时加载,热更新不会同步.env的改动。
你可以在赋值后添加console.log(template, user),在浏览器控制台打印变量值确认是否和真实ID一致,快速定位问题。
内容的提问来源于stack exchange,提问作者PazzeG
相关产品推荐
相关产品推荐

