在 Node.JS 浏览器代码中找不到缓冲区
Buffer not found in Node.JS browser code
我想在 browserify
的浏览器上使用 node.js 功能。在我的代码中,有一行如下:
var x = new Buffer('abc..', 'hex')
但是,这会导致错误 ReferenceError: Buffer is not defined
。我尝试安装 [buffer-browserify][1]
并像这样包含它:
var Buffer = require('buffer');
但现在我收到错误 Error: Cannot find module 'buffer'
..
那么 - 我怎样才能在浏览器 javascript 中使用 Buffer
class?
感谢您的帮助,
更新:
为了用 browserify
构建它,我创建了一个 input.js
文件,如下所示:
var Buffer = require('buffer');
console.log(Buffer);
我尝试用 browserify input.js -o output.js
构建它,我在我的浏览器代码中包含 output.js
,它打印 Buffer
变量。但是,当我尝试使用它时,仍然出现相同的错误 (ReferenceError: Buffer is not defined
)。
你安装了吗?
npm 安装缓冲区
var Buffer = require('buffer').Buffer
这是可以理解的混乱,但这里是如何让它发挥作用的,并附有一些解释性要点。
1) 创建源 javascript 文件
// app.js file
var privateKey = new Buffer('abcdef00', 'hex')
console.log(privateKey.toString('hex'))
- 不,你 不需要 需要
require('Buffer')
在这里打电话。 Browserify 将使一些 node.js 核心全局变量自动可用。由于 Buffer
在 npm 中是全局的(意味着你不必调用 require
来使用它),你可以直接使用它。
- 这会将密钥打印到控制台
2) 从命令行浏览它
npm install --save browserify
$(npm bin)/browserify app.js > app-browser.js
3) 来自 HTML 文件的参考 app-browser.js
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<title>Browserify buffer</title>
</head>
<body>
<h1>Browserify Buffer</h1>
<script src="app-browser.js">
</script>
</body>
</html>
我想在 browserify
的浏览器上使用 node.js 功能。在我的代码中,有一行如下:
var x = new Buffer('abc..', 'hex')
但是,这会导致错误 ReferenceError: Buffer is not defined
。我尝试安装 [buffer-browserify][1]
并像这样包含它:
var Buffer = require('buffer');
但现在我收到错误 Error: Cannot find module 'buffer'
..
那么 - 我怎样才能在浏览器 javascript 中使用 Buffer
class?
感谢您的帮助,
更新:
为了用 browserify
构建它,我创建了一个 input.js
文件,如下所示:
var Buffer = require('buffer');
console.log(Buffer);
我尝试用 browserify input.js -o output.js
构建它,我在我的浏览器代码中包含 output.js
,它打印 Buffer
变量。但是,当我尝试使用它时,仍然出现相同的错误 (ReferenceError: Buffer is not defined
)。
你安装了吗?
npm 安装缓冲区
var Buffer = require('buffer').Buffer
这是可以理解的混乱,但这里是如何让它发挥作用的,并附有一些解释性要点。
1) 创建源 javascript 文件
// app.js file
var privateKey = new Buffer('abcdef00', 'hex')
console.log(privateKey.toString('hex'))
- 不,你 不需要 需要
require('Buffer')
在这里打电话。 Browserify 将使一些 node.js 核心全局变量自动可用。由于Buffer
在 npm 中是全局的(意味着你不必调用require
来使用它),你可以直接使用它。 - 这会将密钥打印到控制台
2) 从命令行浏览它
npm install --save browserify
$(npm bin)/browserify app.js > app-browser.js
3) 来自 HTML 文件的参考 app-browser.js
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<title>Browserify buffer</title>
</head>
<body>
<h1>Browserify Buffer</h1>
<script src="app-browser.js">
</script>
</body>
</html>