【nodejs-BUFFER已弃用】
报错BUFFER
var Buffer: BufferConstructor
new (str: string, encoding?: BufferEncoding) => Buffer (+5 overloads)
Allocates a new buffer containing the given {str}.
@param str — String to store in buffer.
@param encoding — encoding to use, optional. Default is ‘utf8’
@deprecated — since v10.0.0 - Use Buffer.from(string[, encoding]) instead.
“Buffer”的签名“(str: string, encoding?: BufferEncoding): Buffer”已弃用。ts(6387)
buffer.d.ts(187, 16): 该声明曾在此处标记为已弃用。
var缓冲区:缓冲构造器
new (str:字符串,编码?:BufferEncoding) = >缓冲区(+5过载)
分配包含给定{str}的新缓冲区。
@ param str要存储在缓冲区中的字符串。
@ param encoding要使用的编码,可选。默认为“utf8”
@ deprecated从v10.0.0开始-改用Buffer.from(string[,encoding])。
"缓冲"的签名”(str:字符串,编码?:BufferEncoding):缓冲"已弃用ts(6387)
buffer.d.ts(187,16):该声明曾在此处标记为已弃用。
new Buffer弃用
而new Buffer在JavaScript的TypedArray出现后,Buffer类实现Uint8Array的方式,是更优化和适合Node.js的API。所以目前new Buffer的方式已经弃用。
弃用原因
在6.0.0之前的Node.js版本中,Buffer使用Buffer构造函数创建实例,该函数Buffer根据提供的参数分配不同的返回值:
- 由于行
为new Buffer()
因第一个参数的类型而异,因此在Buffer不执行参数验证或初始化时,可能会无意中将安全性和可靠性问题引入应用程序。 - 为了使创建Buffer实例更为可靠,不容易出错,各种形式的new Buffer()构造已经被弃用 ,并通过独立的更换
Buffer.from()
,Buffer.alloc()
和Buffer.allocUnsafe()
方法。
具体看:勇敢*牛牛的Node.js的Buffer(缓冲区)和Stream 操作点击:勇敢*牛牛的Node.js的Buffer(缓冲区)和Stream
替换方法