我有个愚蠢的问题我需要在我的Next.js项目中创建UUID,但我不想添加冗余包。所以在组件中,我导入crypto
如下:
import crypto from 'crypto';
然后,我一直使用如下:
const generateUuid = () => {
console.log(crypto.randomBytes(10).toString('hex'))
}
return <button onClick={generateUuid}>Generate UUID</button>
它的工作,因此我几乎困惑。😀
其他文章说应该使用getInitialProps
来确保代码在服务器上运行。但我没有问题。你能描述一下吗?如果我错了,请纠正我。
谢谢
1条答案
按热度按时间wyyhbhjk1#
next.js有两个运行时。
edge
和node
。Edge Runtime支持crypto
。Edge Runtime support those从这里
Next.js内部的Edge Runtime使用Node.js API的严格子集(如请求,响应等),这些API与Vercel等边缘计算平台或自托管时兼容。这些API可以在任何地方运行,包括在浏览器中,允许开发人员学习一次并在任何地方编写。
Vercel有一个演示edge-functions-crypto