微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Webpack 5 收到 Polyfill 错误?!?!我的 JavaScript React 项目在尝试编译我的 webpack.config.js 文件时收到 polyfill 错误

如何解决Webpack 5 收到 Polyfill 错误?!?!我的 JavaScript React 项目在尝试编译我的 webpack.config.js 文件时收到 polyfill 错误

我正在学习基于 React 的 Udemy 课程(这是 Brad Schiff 的 React for the Rest of Us 课程 here),我收到了一个与 webpack 相关的错误,导致它无法编译。

当我尝试从我正在学习的 Udemy 课程中编译我的 webpack 文件时,我收到以下错误...这是我在终端上收到的错误图片please view it here

这是错误的文本,但请查看链接获取更多详细信息作为屏幕截图

Module not found: Error: Can't resolve 'path' in '/Users/seanmodd/Development/2021/BradSchiff/Frontend/node_modules/webpack/lib/util'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill,you need to:
- add a fallback 'resolve.fallback: { "path": require.resolve("path-browserify") }'
- install 'path-browserify'
If you don't want to include a polyfill,you can use an empty module like this:
resolve.fallback: { "path": false }
@ ./node_modules/webpack/lib/CleanPlugin.js 12:17-37
@ ./node_modules/webpack/lib/index.js 115:9-33
@ ./node_modules/dotenv-webpack/dist/index.js 12:15-33
@ ./node_modules/dotenv-webpack/browser.js 1:13-38
@ ./app/components/HomeGuest.js 5:15-40
@ ./app/Main.js 8:0-47 38:96-105

解决方法

他们在 webpack 5 中删除了自动 polyfill。我们必须自己包含它们。 更多信息here

,

通过查看错误堆栈,我们看到 ./app/components/HomeGuest.js 第 15 行需要 path 模块。

如果您确实需要在客户端使用 path 模块,则必须在 webpack 配置文件中添加:

module.exports = {
  // ... your config
  resolve: {
    fallback: {
      path: require.resolve("path-browserify")
    }
  }
}

此外,安装 path-browserify 模块 (npm install path-browserify)。

但是,您可能在客户端不需要此模块,然后解决方法是以不需要路径模块的方式编辑 HomeGuest.js 文件第 15 行。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。