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

如何解决TypeScript报错:类型'typeof env'不存在属性'EXPO_PUBLIC_BACKEND_URL'

解决Expo + TypeScript中process.env自定义环境变量的TypeScript报错

问题根源

TypeScript默认的process.env类型定义里不包含你自定义的EXPO_PUBLIC_BACKEND_URL,所以编辑器会抛出类型错误,尽管应用运行时能正常访问该变量。

解决方案

1. 创建/完善env.d.ts类型声明文件

在项目根目录创建(或更新)env.d.ts文件,添加以下代码:

declare global {
  namespace NodeJS {
    interface ProcessEnv {
      EXPO_PUBLIC_BACKEND_URL: string;
      // 其他EXPO_PUBLIC_开头的环境变量也可以在这里追加声明
    }
  }
}

export {};

这段代码会告诉TypeScript,process.env对象包含EXPO_PUBLIC_BACKEND_URL这个字符串类型的属性。

2. 确保TypeScript识别声明文件

检查你的tsconfig.json,如果还没添加include数组,补充如下配置,让TypeScript明确扫描类型声明文件:

{
    "extends": "expo/tsconfig.base",
    "compilerOptions": {
        // 保留你原有的所有配置项
    },
    "include": [
        "**/*",
        "env.d.ts"
    ]
}

3. 重启VSCode的TypeScript服务

编辑器可能不会自动刷新类型定义,按下Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac),输入TypeScript: Restart TS Server并执行,让新的类型声明生效。

验证

完成以上步骤后,VSCode中的波浪线错误应该会消失,TypeScript也会正确识别EXPO_PUBLIC_BACKEND_URL的类型。

内容的提问来源于stack exchange,提问作者M. Maiz Nadeem

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 12:24:54