我使用Mocha / Chai对最近开始使用nodejs'的库进行单元测试。缓冲对象来解决不同的问题。
我在单元测试中收到此错误消息:
TypeError: this is not a typed array.
at Function.from (native)
at Object.hashesMatch (index.js:29:18
at Context.<anonymous> (test/test.js:25:22)
index.js的第29行是我使用nodejs&#39;的地方。缓冲...
var b = Buffer.from ('some string or other');
我无法找到填充物或解决方法,所以会感激建议。
由于
答案 0 :(得分:43)
您可能正在使用旧版本的Node.js.
版本6.0.0中的 Buffer.from
was introduced:
为了使Buffer对象的创建更可靠且更不容易出错,不推荐使用各种形式的新Buffer()构造函数,并将其替换为单独的Buffer.from(),Buffer.alloc()和Buffer.allocUnsafe。 ()方法。
在文件previous versions中没有提及此方法。
您可以更新到6.0.0或使用不推荐使用的构造函数API,它具有以下签名:
new Buffer(str[, encoding])
答案 1 :(得分:5)
我也遇到了同样的错误。你可以试试这个
var b = new Buffer('some string or other');
第二个参数是编码(可选)。默认情况下,编码为utf-8
答案 2 :(得分:0)
有时候很难更新节点版本,尤其是在生产环境中使用,因此另一种解决方案是
使用“ kafka-node”:“ 1.6.2” 或更小