我对 JS 很陌生,我想生成一个 UUID。这是我一步一步尝试的:
mkdir test
cd test
touch file1.js
file1.js
:let crypto;
try {
crypto = require('crypto');
} catch (err) {
console.log('crypto support is disabled!');
}
var uuid = crypto.randomUUID();
console.log(uuid);
你看到了错误。怎么了?我无法在任何地方找到答案。节点 JS 版本:
node -v
表演v12.22.9
在这里你可以使用
randomBytes()
方法来获得唯一的id
const crypto = require('crypto');
console.log(crypto.randomBytes(20).toString('hex'));
你也可以使用 uuidv4 而不是 crypto
const { uuid } = require('uuidv4');
console.log(uuid());
错误是为Node版本添加了
crypto.randomUUID
功能> v14.17.0
.
根据官方文档:https://nodejs.org/api/crypto.html#cryptorandomuuidoptions
所以如果您不想使用更新的 Node 版本,那么可能是您最好的选择https://www.npmjs.com/package/uuid
我将 NodeJS 升级到更新版本,它成功了!
我遇到了一些问题,所以我尝试删除 NodeJS(我和这个人有同样的问题:https://github.com/nodesource/distributions/issues/1157)。
并安装了 LTS 版本:https://askubuntu.com/questions/1265813/how-to-update-node-js-to-the-long-term-support-version-on-ubuntu-20-04。
现在我有:
node -v
v16.16.0
脚本有效!谢谢:)