如何在 webpack 5 中填充节点核心模块

新手上路,请多包涵

webpack 5 不再对节点核心模块进行自动填充。请问怎么修?

重大变化:webpack < 5 用于默认包含 node.js 核心模块的 polyfill。这已不再是这种情况。验证你是否需要这个模块并为它配置一个 polyfill。

错误

原文由 Saber 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.4k
1 个回答

从 webpack v4 升级到 v5 时,我也遇到了这些错误。通过对 webpack.config.js 进行以下更改解决

添加了 resolve.fallback 属性

删除节点属性

{
resolve: {
  modules: [...],
  fallback: {
    "fs": false,
    "tls": false,
    "net": false,
    "path": false,
    "zlib": false,
    "http": false,
    "https": false,
    "stream": false,
    "crypto": false,
    "crypto-browserify": require.resolve('crypto-browserify'), //if you want to use this module also don't forget npm i crypto-browserify
  }
},
entry: [...],
output: {...},
module: {
  rules: [...]
},
plugins: [...],
optimization: {
  minimizer: [...],
},
// node: {
//   fs: 'empty',
//   net: 'empty',
//   tls: 'empty'
// },
}

从 v4 升级到 v5 => https://webpack.js.org/migrate/5/#clean-up-configuration

原文由 Maqsood Ahmed 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题