如何在客户端 javascript 中使用 node.js 缓冲区库

aja*_*jay 9 javascript browser buffer node.js

我想在我的网站中使用缓冲区库(为了处理二进制数据)。这是我的用例:

const privateKey = Buffer.from('<User's private key here>', 'hex');
Run Code Online (Sandbox Code Playgroud)

buffer 在 node.js 中工作正常,无需任何额外的 npm 模块或脚本。但不知何故,它无法在网络浏览器中工作。它显示错误

未捕获的引用错误:缓冲区未定义

我虽然我们需要在 html 文件中添加库脚本文件。请帮我解决这个问题?

Ahs*_*Ali 8

Buffer对象仅在NodeJs中可用,在浏览器JS中不存在。但是 GitHub 上有一个可以使用的脚本。

从https://github.com/feross/buffer添加独立脚本到 HTML

    <script src="https://bundle.run/buffer@6.0.3"></script>
Run Code Online (Sandbox Code Playgroud)

然后在JS中

const privateKey = buffer.Buffer.from(PRIVATE_KEY_1, "hex");


jbu*_*dev 0

缓冲区对象在 Node.js 之外(即浏览器中)不可用。这是因为(如果您不知道)Node.js 是一个 javascript 运行时,因此 Node.js 特定功能不存在于浏览器环境中,因为它们与 V8 引擎相关联,但与浏览器中的 V8 引擎无关(注意这里的区别)。

所以本质上,uncaught refernce error: buffer is not defined意味着浏览器中不存在这个。

https://nodejs.org/api/buffer.html#buffer_new_buffer_array