找不到模块:错误:无法解析 webpack 中的“util”

Posted

技术标签:

【中文标题】找不到模块:错误:无法解析 webpack 中的“util”【英文标题】:Module not found: Error: Can't resolve 'util' in webpack 【发布时间】:2021-01-31 18:46:35 【问题描述】:

当我运行脚本时,它会显示这个错误 这是错误:

重大更改:webpack polyfills 用于 node.js 核心模块。 这已不再是这种情况。验证您是否需要此模块并为其配置polyfill

如果你想包含polyfill,你需要:添加一个fallback 'resolve.fallback: "util": require.resolve("util/") ',安装'util'; 如果您不想包含 polyfill,可以使用这样的空模块:resolve.fallback: "util": false @ ./node_modules/webpack/lib/index.js 74:30-50 77:9-29 @ ./src/googlesheets.js 21:16-34 @ ./src/index.js 1:0-44 2:0-10

【问题讨论】:

【参考方案1】:

主要问题在于 Webpack 5。它没有预加载 Node.js 的 polyfill。我看到这个问题可以帮助你。 https://github.com/webpack/webpack/issues/11282

解决它:npm install util,并将其添加到webpack.config.js

module.exports = 
  // ...
  resolve: 
      fallback: 
        util: require.resolve("util/")
      
  
  // ...
;

【讨论】:

@Th3Cod3- 先生,但在 angular webpack.config.js 中不存在..告诉我还有其他 angular 文件吗? @KapilSoni 默认的 Angular 构建器不允许修改 webpack 配置。您需要使用不同的构建器,例如 npmjs.com/package/@angular-builders/custom-webpack【参考方案2】:

如果您的代码是多目标(节点和浏览器),请遵循其他答案。如果你的代码只能在 nodejs 上运行,这就足够了:

    module.exports = 
     target: "node", // Or "async-node"
     mode: "production" /* or "development", or "none" */
     /* ... */
    

【讨论】:

【参考方案3】:

如果你没有util,甚至不使用webpack.config.ts

    npm install util 对您的tsconfig.json 进行以下更改
    "angularCompilerOptions": 
         "types" : ["node"]
    

【讨论】:

【参考方案4】:

当我这样做时,我的问题得到了解决:

    转到 node_modules 文件夹 搜索 react-scripts 文件夹 在 config 文件夹中,您将看到 webpack.config.js 文件。 在第 303 行的 resolve 部分下,添加这个
resolve: 
  fallback: 
    util: require.resolve("util/")
  ,
// ...

【讨论】:

以上是关于找不到模块:错误:无法解析 webpack 中的“util”的主要内容,如果未能解决你的问题,请参考以下文章

找不到入口模块中的错误:错误:无法解析“xxxx”中的“xxxx”解析“xxxx”

找不到模块:错误:无法解析模块“组件/应用程序”。 webpack + reactjs 问题

text Webpack编译,找不到模块:错误:无法解析模块'步伐'

Webpack“找不到模块:错误:无法解析'../webfonts/fa-solid-900.eot'”

Webpack:移动webpack / react文件的位置后,npm start“找不到模块:错误:无法解析...”

找不到模块:错误:无法解析模块“fs”