NodeJS运行下列代码时报错
var numbers = Buffer("123456789");
![](https://img-blog.csdnimg.cn/20190609115536344.png)
(node:3872) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
文档:
https://www.nodeapp.cn/deprecations.html#deprecations_dep0005_buffer_constructor
DEP0005:Buffer()构造函数#
类型:仅限文档
由于API可用性问题而不推荐使用该Buffer()
函数和new Buffer()
构造函数,这可能会导致意外的安全问题。
作为替代方案,Buffer
强烈建议使用以下构造对象的方法:
- [
Buffer.alloc(size[, fill[, encoding]])
] alloc - Buffer
使用 初始化内存创建一个。 Buffer.allocUnsafe(size)
-创建Buffer
与未初始化的 内存。Buffer.allocUnsafeSlow(size)
-创建Buffer
与未初始化的 内存。Buffer.from(array)
- 创建Buffer
一个副本array
- [
Buffer.from(arrayBuffer[, byteOffset[, length]])
] from_arraybuffer - 创建一个Buffer
包装给定的arrayBuffer
。 Buffer.from(buffer)
- 创建Buffer
副本buffer
。Buffer.from(string[, encoding])
- 创建Buffer
副本 string
。
解决实现:
var numbers = Buffer.from("123456789");
不再报错
结论:
new Buffer() 和Buffer()函数已经废弃
类方法:Buffer.from(buffer)#
新增于: v5.10.0
buffer
<Buffer> 一个要拷贝数据的已存在的 Buffer
将传入的 buffer
数据拷贝到一个新建的 Buffer
实例。
例子:
const buf1 = Buffer.from('buffer');
const buf2 = Buffer.from(buf1);
buf1[0] = 0x61;
// 输出: auffer
console.log(buf1.toString());
// 输出: buffer
console.log(buf2.toString());
如果 buffer
不是一个 Buffer
,则抛出 TypeError
错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)