webpack5 真的不能填充库吗?有哪些解决方案?

Is it true webpack5 is unable to polyfill libraries? What are some solutions?

我的问题是:我在浏览器中使用的 js 脚本中使用 require(下载 nodemailer)。按照 SO post 的建议,我下载了 browserify。它允许我在浏览器使用的 js 文件中使用 require

Webpack 是另一个列出的替代方案。它比 browserify 更常见并且具有更多功能(例如智能安排导入和导出(从另一个)的文件)。

但是,webpack 似乎不适用于 nodemailer。这是我尝试制作 bundle.js 文件时的错误代码:

我的问题是:

Webpack 处理 require 没有问题,这就是它存在的理由!

您不能填充 Nodemailer。它取决于 Node.js 提供但在网络浏览器中不可用的 API。

如果您想从 Web 浏览器发送电子邮件,那么通常的方法是向发送电子邮件的 Web 服务发出 HTTP 请求。