ekk*_*kis 7 javascript cryptojs reactjs webpack next.js
我正在尝试这个
import { randomUUID } from 'crypto'
var id = randomUUID()
Run Code Online (Sandbox Code Playgroud)
在我的 NextJs 应用程序中,但我收到此错误:
index.js?46cb:369 Uncaught TypeError: (0 , crypto__WEBPACK_IMPORTED_MODULE_5__.randomUUID) 不是 Module../pages/index.js (index.js?ts) 的 eval (index.js?bee7:8:20) 处的函数=1649816623582:5680:1) 在 Module.options.factory (webpack.js?ts=1649816623582:618:31) 在webpack_require (webpack.js?ts=1649816623582:37:33) 在 fn (webpack.js?ts= 1649816623582:287:21) 在 eval (?595a:5:16) 在 eval (route-loader.js?ea34:235:51)
看起来加密库可用于 NextJs 中的中间件(尽管它应该在浏览器中可用),但这似乎实现起来很复杂。谁能建议如何在 NextJs 中生成 UUID?
moc*_*cha 18
因为crypto它是 Node.js 中的内置模块,所以不能在客户端使用它。您可以使用外部库(例如uuid或 )short-uuid来生成 uuid:
import { v4 } from "uuid";
v4(); // deadbeef-deadbeef-deadbeef-deadbeef or some uuid
Run Code Online (Sandbox Code Playgroud)
使用外部跨平台库允许您在服务器和客户端上使用它,这将解决该问题。
小智 8
Crypto 是内置的 Node 模块。您不能在客户端使用它。\n使用此 uuid包
\nimport { v4 as uuidv4 } from \'uuid\';\nuuidv4(); // \xe2\x87\xa8 \'9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
22435 次 |
| 最近记录: |