我安装了Node.js v12.13.0,但仍然出现以下错误。我已经检查了很多关于这方面的问题,但所有问题的解决方案都是更新的节点版本。
Uncaught TypeError: crypto__WEBPACK_IMPORTED_MODULE_5__.generateKeyPairSync is not a function
at Login.render (Login.jsx:31)
at finishClassComponent (react-dom.development.js:17098)
at updateClassComponent (react-dom.development.js:17051)
at beginWork (react-dom.development.js:18513)
at HTMLUnknownElement.callCallback (react-dom.development.js:189)
at Object.invokeGuardedCallbackDev (react-dom.development.js:238)
at invokeGuardedCallback (react-dom.development.js:291)
at beginWork$1 (react-dom.development.js:23055)
at performUnitOfWork (react-dom.development.js:22022)
at workLoopSync (react-dom.development.js:21995)
at performSyncWorkOnRoot (react-dom.development.js:21613)
at scheduleUpdateOnFiber (react-dom.development.js:21045)
at updateContainer (react-dom.development.js:24194)
at react-dom.development.js:24577
at unbatchedUpdates (react-dom.development.js:21763)
at legacyRenderSubtreeIntoContainer (react-dom.development.js:24576)
at Object.render (react-dom.development.js:24659)
at Module../src/index.js (index.js:27)
at __webpack_require__ (bootstrap:781)
at fn (bootstrap:149)
at Object.1 (PlayerStore.jsx:21)
at __webpack_require__ (bootstrap:781)
at checkDeferredModules (bootstrap:45)
at Array.webpackJsonpCallback [as push] (bootstrap:32)
at main.chunk.js:1发布于 2021-04-14 15:03:23
从堆栈跟踪来判断,这段代码看起来像是在浏览器中运行。仅在Node.js中提供crypto.generateKeyPairSync接口。基本上,它只能在服务器端使用,不能在前端使用。
您需要一些像Web Crypto API这样的东西,内置到现代浏览器中。Here is an example RSA key pair generation:
let keyPair = window.crypto.subtle.generateKey(
{
name: "RSA-OAEP",
modulusLength: 4096,
publicExponent: new Uint8Array([1, 0, 1]),
hash: "SHA-256"
},
true,
["encrypt", "decrypt"]
);https://stackoverflow.com/questions/62084998
复制相似问题