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

React项目chat组件无法访问process.env 同目录其他页面访问正常

问题原因

你的chat组件文件顶部导入了自定义模块的process对象,直接覆盖了打包工具(比如CRA内置的webpack)注入的全局process对象,导致你代码中访问的process.env实际是读取你自定义process对象的env属性,而非预设的环境变量。
对应的冲突代码是这一行:

import { process } from "../../store/action/index";

account、checkout页面没有导入同名的自定义process对象,所以可以正常读取环境变量。

修复方案

推荐两种可选方案,优先选第一种避免后续命名冲突:

  • 方案1:重命名自定义导入的process
    将导入语句改为别名,同时调整调用的地方即可:
    // 导入时重命名
    import { process as dispatchProcessAction } from "../../store/action/index";
    // 原来调用process的地方替换成别名
    const dispatchProcess = (encrypt, msg, cipher) => {
      dispatch(dispatchProcessAction(encrypt, msg, cipher));
    };
    
  • 方案2:明确指定全局process对象
    如果你不想修改自定义process的变量名,访问环境变量时明确指向全局对象即可:
    // 把原来的process.env改成window.process.env
    axios.get(`${window.process.env.REACT_APP_SERVER_URL}/users/isLoggedIn`, {
      // 其余配置不变
    })
    

补充说明:你当前用的环境变量前缀是REACT_APP_,符合Create React App的环境变量命名规则,这部分不需要调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 18:18:03