在浏览器中使用 NodeJS Crypto 模块和 webpack

gil*_*sho 8 javascript node.js cryptojs webpack

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

有没有办法规避这种行为并包含nodejs加密javascript代码?或者加密库是否存在某些固有的东西,禁止将其包含在内。

我尝试webpack.ProvidePlugin在编译时使用 require 节点加密模块,然后显式分配它,但这不起作用。

我的 webpack 配置是由 ReactJS 生成的。它太长了,无法包含,但它应该是漂亮的样板文件。

小智 6

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

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