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

如何定义__WebpackModuleApi?解决git commit时的no-undef错误

解决TypeScript中__WebpackModuleApi未定义的问题

针对你遇到的'__WebpackModuleApi' is not defined错误,提供以下几种可行的解决方法:

  • 方法1:添加全局类型声明
    在当前.vue文件顶部或者项目的types目录下新建webpack.d.ts文件,添加如下类型声明:
declare interface __WebpackModuleApi {
  RequireContext: import('webpack').RequireContext;
}

declare var __WebpackModuleApi: __WebpackModuleApi;

该声明会告诉TypeScript__WebpackModuleApi是全局可用的变量,并明确其类型结构。

  • 方法2:通过typeof推导类型(更简洁)
    无需显式引用__WebpackModuleApi,直接利用TypeScript的类型推导能力获取require.context的返回类型:
let importAll = (requireContext: ReturnType<typeof require.context>) =>
  requireContext.keys().forEach(requireContext);

这种写法既省去了额外的类型声明,也能保证类型校验的正确性。

  • 方法3:安装Webpack环境类型依赖
    先安装webpack-env的类型包:
npm install @types/webpack-env --save-dev

接着在项目根目录的tsconfig.json中,将webpack-env添加到compilerOptions.types数组里:

{
  "compilerOptions": {
    // 其他配置项...
    "types": ["webpack-env"]
  }
}

安装并配置后,TypeScript会自动识别Webpack提供的所有全局API类型,包括require.context相关的定义。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 04:10:35