在带有 webpack 的浏览器中使用 NodeJS Crypto 模块

Using NodeJS Crypto module in browser with webpack

我正在编写一个 javascript REPL,旨在 运行 在浏览器中执行 nodejs 加密函数。我的项目在 ReactJS 中,我正在使用 webpack 将所有模块和依赖项捆绑在一起。我试图在 webpack 生成的捆绑文件中包含内置节点加密模块,但我无法这样做。 Webpack 似乎使用 NodeSourcePlugin 插件和 node-libs-browser 包将内置加密模块替换为 crypto-browserify。当我禁用这些检查时,我在编译过程中收到一个错误,抱怨无法解析加密模块。

有没有办法绕过这种行为并包含 nodejs 加密 javascript 代码?或者加密库是否有一些固有的东西阻止它被包含在内。

我尝试使用 webpack.ProvidePlugin 在编译时要求节点加密模块,然后显式分配它,但这没有用。

我的 webpack 配置是由 ReactJS 生成的。它太长了,但它应该是很好的样板文件。

NodeJS 加密模块是用 C++ 编写的本机模块。无法将它捆绑在您的 ReactJS 应用程序中,以便在浏览器中 运行。

您需要一个纯粹的 JavaScript 包。也许看看 crypto-js.