React 18.2无法读取.env文件值,控制台返回Undefined求助
React 18.2读取.env环境变量返回Undefined的解决办法
针对你遇到的问题——在React 18.2项目中,.env文件配置REACT_APP_API_URL = localhost:4000后,在App.js中通过process.env.REACT_APP_API_URL读取却返回undefined,按以下步骤排查修复:
检查.env文件的位置与命名
确保.env文件放在项目根目录(和package.json同级),不能放在src或其他子文件夹下;文件名必须严格是.env,不能添加任何后缀(比如.env.dev需要对应环境启动命令,默认开发环境加载.env)。删除配置项的多余空格
你的配置项中=前后的空格会导致变量读取异常,修改为无空格的格式:REACT_APP_API_URL=localhost:4000重启开发服务器
React的环境变量仅在开发服务器启动时才会被加载,修改.env后必须重启npm start或yarn start,否则新的配置不会生效。验证变量是否被正确注入
重启服务器后,可以在App.js中打印整个process.env对象,确认目标变量是否存在:console.log(process.env);确认变量前缀的正确性
只有以REACT_APP_开头的变量才会被Create React App的打包工具自动注入到项目中,确保你的变量前缀没有拼写错误(注意大小写、下划线)。
如果你的项目是通过eject命令暴露了配置,或者自定义了Webpack配置,需要额外确认webpack.config.js中是否正确配置了DefinePlugin来注入环境变量,不过默认的Create React App已经处理了这部分逻辑。
内容的提问来源于stack exchange,提问作者Asrorbek
相关产品推荐
相关产品推荐

