nodejs-BUFFER已弃用

Posted 勇敢*牛牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs-BUFFER已弃用相关的知识,希望对你有一定的参考价值。

【nodejs-BUFFER已弃用】

报错BUFFER

const buf =new Buffer(JSON.stringify("'name':'jack'"));

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根据提供的参数分配不同的返回值:

  1. 由于行为new Buffer()因第一个参数的类型而异,因此在Buffer不执行参数验证或初始化时,可能会无意中将安全性和可靠性问题引入应用程序。
  2. 为了使创建Buffer实例更为可靠,不容易出错,各种形式的new Buffer()构造已经被弃用 ,并通过独立的更换Buffer.from()Buffer.alloc()Buffer.allocUnsafe()方法。

具体看:勇敢*牛牛的Node.js的Buffer(缓冲区)和Stream
操作点击:勇敢*牛牛的Node.js的Buffer(缓冲区)和Stream

替换方法

const buf = Buffer.from(JSON.stringify("'name':'jack'"));
创作打卡挑战赛 赢取流量/现金/CSDN周边激励大奖

以上是关于nodejs-BUFFER已弃用的主要内容,如果未能解决你的问题,请参考以下文章

如何在 RAML 中将 REST 服务标记为已弃用

如何在 Delphi 中将单个枚举值标记为已弃用

delphi 如何将属性标记为已弃用?

iOS6 viewDidUnload 已弃用

Spring Ldap PasswordEncoder 已弃用替代方案

如何使用(可能是非对象)参数解决已弃用的属性/方法?