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

React 16.9项目无法获取.env文件URL变量求助

解决React 16.9中环境变量无法读取的问题

我来帮你排查这个环境变量读取失败的问题,这是React项目里非常常见的配置坑,咱们一步步拆解原因和解决方案:

1. 核心问题:环境变量命名不符合React要求

react-scripts(Create React App默认的脚本工具)有个硬性规则:所有自定义环境变量必须以REACT_APP_作为前缀,否则会被自动忽略——这是为了避免和系统环境变量冲突。你现在用的loginUrl没有加这个前缀,所以process.env里根本不会有这个变量。

2. 次要问题:.env文件的格式错误

你的配置写的是:

loginUrl = "http://localhost:8080/api/2.0/admin/auth/login"

这里有两个格式问题:

  • 等号两边不能有空格,正确格式是KEY=VALUE
  • 不需要给值加引号,react-scripts会自动处理字符串,加引号的话最终读取的值会包含引号本身

修正后的配置示例

把你的.env/.env.dev文件改成:

REACT_APP_LOGIN_URL=http://localhost:8080/api/2.0/admin/auth/login

3. 必须重启开发服务

修改.env文件或者切换环境脚本后,一定要重启react-scripts的服务,因为它只会在启动时加载一次环境变量,热更新不会重新读取这些文件。比如你执行npm start后改了配置,得先按Ctrl+C停止服务,再重新运行npm start。

4. 验证变量是否生效

在组件里可以先打印整个process.env来确认变量是否存在:

console.log(process.env);

如果能看到REACT_APP_LOGIN_URL,再单独打印它:

console.log(process.env.REACT_APP_LOGIN_URL);

额外提示(针对跨平台)

如果你是Windows系统,package.json里的cp命令会失效,因为Windows用的是copy。如果需要跨平台兼容,可以安装cross-env或者copyfiles工具,但这不是当前问题的核心,先解决前面的命名和格式问题即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:18:19