我想在我的网站中使用缓冲区库(为了处理二进制数据)。这是我的用例:
const privateKey = Buffer.from('<User's private key here>', 'hex');
buffer 在 Node.js 中工作正常,无需任何额外的 npm 模块或脚本。但不知何故,它在网络浏览器中不起作用。它显示错误
未捕获的引用错误:缓冲区未定义
虽然我们需要在 html 文件中添加库脚本文件。请帮我解决这个问题吗?
Buffer对象仅在NodeJs中可用,在浏览器JS中不存在。但是 GitHub 上有一个可用的脚本可以使用。
从 https://github.com/feross/buffer
将独立脚本添加到 HTML <script src="https://bundle.run/[email protected]"></script>
然后在JS中
const privateKey = buffer.Buffer.from(PRIVATE_KEY_1, "hex");
缓冲区对象在 Node.js 之外(即浏览器中)不可用。这是因为(如果您不知道)Node.js 是一个 javascript 运行时,因此 Node.js 特定功能不存在于浏览器环境中,因为它们与 V8 引擎相关联,但与浏览器中的 V8 引擎无关(注意这里的区别)。
所以本质上,
uncaught refernce error: buffer is not defined
意味着浏览器中不存在这个。