在Node.js浏览器代码中找不到缓冲区



我想在浏览器上使用 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' ..

so -so -sow-如何在浏览器JavaScript中使用Buffer类?

感谢您的任何帮助,

更新:

为了用browserify构建它,我创建了一个input.js文件,如下所示:

var Buffer = require('buffer');
console.log(Buffer);

我尝试使用browserify input.js -o output.js构建它,然后在浏览器代码中包括output.js,它打印了Buffer变量。但是,当我尝试使用它时,我仍然会遇到相同的错误(ReferenceError: Buffer is not defined)。

这是可以理解的令人困惑的,但是这是使其起作用的方法,以及一些解释性的子弹。

1)创建您的源javascript文件

// app.js file
var privateKey = new Buffer('abcdef00', 'hex')
console.log(privateKey.toString('hex'))
  • 不是您做不是需要require('Buffer')在此处调用。浏览将使一些Node.js Core Globals自动提供。由于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>

您是否安装了它?

NPM安装缓冲区

var Buffer = require('buffer')。缓冲区

最新更新