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

React项目使用envalid 7.1.1触发运行时错误:Env var not found: $$typeof

问题原因

envalid v7+ 版本调用cleanEnv后默认返回代理(Proxy)对象,且默认开启strictProxy配置,只要访问未在规则中定义的属性就会直接抛出ReferenceError。
React运行时会自动扫描所有导出对象,尝试读取$$typeof属性判断是否为React内部元素,该属性没有在你的envalid校验规则中声明,访问时就触发了报错。

解决方案

  • 方案1(快速修复):关闭严格代理配置
    给cleanEnv传入第三个参数关闭strictProxy,访问未定义属性时将返回undefined而非抛错:
import { cleanEnv, str } from 'envalid';

const ENV = cleanEnv(process.env, {
  NODE_ENV: str({ default: 'development' }),
  REACT_APP_SOME_VALUE: str({ default: 'default value' }),
}, {
  strictProxy: false
});

export default ENV;
  • 方案2(更推荐):转为普通对象导出
    将envalid返回的代理对象展开为普通JS对象,既保留原有环境变量校验能力,又不会触发代理的属性访问拦截逻辑:
import { cleanEnv, str } from 'envalid';

const envProxy = cleanEnv(process.env, {
  NODE_ENV: str({ default: 'development' }),
  REACT_APP_SOME_VALUE: str({ default: 'default value' }),
});

const ENV = { ...envProxy }
export default ENV;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 10:09:04