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

TypeScript项目引入axios后npm run build报错Cannot find name 'AbortSignal'

问题原因

这个报错是因为项目的TypeScript环境缺少AbortSignal接口的类型定义,该接口属于Web API规范,旧版本的TypeScript、@types/node包默认不包含该类型,axios的类型定义又引用了这个接口,所以引入axios后触发编译报错。

解决方案
  • 方案1:修改tsconfig.json配置,在compilerOptions的lib字段中添加DOM类型库

    {
      "compilerOptions": {
        "lib": ["ESNext", "DOM"],
        // 其余原有配置保持不变
      }
    }
    

    该方案会引入所有DOM相关的全局类型,适合前端项目,Node.js项目如果担心类型污染可以选择下面的方案。

  • 方案2:升级Node.js类型定义包到最新版本
    高版本的@types/node已经内置了Node.js环境下的AbortSignal类型定义,执行以下命令升级即可:

    npm install -D @types/node@latest
    
  • 方案3:手动添加全局类型声明
    如果不想升级依赖,可以在项目中新增全局类型声明文件(比如src/global.d.ts),添加以下内容:

    declare global {
      interface AbortSignal {
        aborted: boolean;
        reason?: any;
        addEventListener(type: string, listener: () => void): void;
        removeEventListener(type: string, listener: () => void): void;
      }
    }
    export {}
    
  • 方案4:降级axios版本
    如果以上方案都不适用,可以将axios降级到不需要AbortSignal类型的v0.27.2版本:

    npm install axios@0.27.2
    

内容的提问来源于stack exchange,提问作者MUHAMMAD SHAHID RAFI C P

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 04:24:07