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

Webpack 4编译.mjs依赖报ReferenceError: module is not defined问题

解决graphql-tools依赖iterall导致的ReferenceError: module is not defined错误

我之前也碰到过一模一样的问题!当在打包项目里引入graphql-tools的某个函数后,突然抛出了来自它的依赖iterall的ReferenceError: module is not defined错误。查了Webpack 4的编译输出,发现它处理iterall的.mjs文件时生成了这段有问题的代码:

__webpack_require__.r(__webpack_exports__);
module.exports = __webpack_require__.p + "static/media/index.8485c181.mjs";

后来经过验证,这个问题的根源在于Webpack 4对.mjs文件的处理逻辑和iterall的模块导出方式不兼容,把iterall的依赖别名强制指向它的.js格式文件就能完美修复这个问题。

你只需要在Webpack配置文件里添加如下别名配置:

module.exports = {
  // ...其他项目配置
  resolve: {
    alias: {
      iterall: 'iterall/index.js',
    },
  },
};

这样Webpack就会优先使用iterall的CommonJS格式文件,避开.mjs文件带来的模块定义问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:05:37