手机版

综合分析Node.js8的重要功能和修复

时间:2021-09-04 来源:互联网 编辑:宝哥软件园 浏览:

5月30日12点,Node.js 8正式发布。这个版本有一系列新的功能和性能改进,这些功能和改进将得到长期支持(LTS)。

让我们介绍一下Node.js8中最重要的功能和修复

新版本的代号是Carbon。Node.js 8将从2017年10月正式成为当前的LTS版本,并持续到2019年12月31日。这也意味着Node.js 6版本将于2018年4月进入维护模式,2019年4月结束维护支持。

下载Node.js 8的版本:https://nodejs.org/download/rc/v8.0.0-rc.2/

异步钩子应用编程接口介绍

异步钩子(以前称为异步包装)应用编程接口允许您获取关于句柄对象生命周期的结构跟踪信息。

API发送的消息将通知消费者Node.js中所有句柄对象的生命周期.它试图解决延续本地存储NPM包等问题。

如果您正在使用延续本地存储,您可以使用名为cls-hook的异步钩子,但目前不是使用异步钩子的最佳时机,因此您需要谨慎使用它们!

异步钩子应用编程接口在Node.js 8中是如何工作的

createHooks函数的注册函数将被每个异步操作的不同生命周期事件调用。

Const异步钩子=要求(' async _ hooks ')异步钩子。创建挂钩({初始化、预发布、发布、销毁})了解有关异步挂钩的更多信息,或检查正在进行的工作文档。这些函数将根据处理程序对象的生命周期事件有选择地触发。

氮-应用编程接口简介

N-API是一个用于构建本机插件的API。它独立于底层的JavaScript运行时,并作为Node.js本身的一部分进行维护。这样做的目的是确保应用程序二进制接口(ABI)能够在不同版本的Node.js之间保持稳定

N-API的目的是区分附加组件和基本JavaScript引擎中的更改,这样本机插件就可以运行不同版本的Node.js,而无需重新编译。

了解更多关于N-API的信息。

node.js8中缓冲区安全性的改进

在Node.js 8版本之前,使用新的Buffer(Number)构造函数分配的缓冲区没有使用ZEROS来初始化内存空间。因此,新的缓冲区实例可能包含敏感信息,这很容易导致安全问题。

虽然这是为了提高创建新缓冲区的性能而做出的决定,但大多数人并不打算使用它。因此,从Node.js 8开始,用新的Buffer(Number)或Buffer(Number)分配的缓冲区将自动由ZEROS填充。

将V8升级到5.8:涡轮风扇和发动机

随着Node.js 8版本的发布,底层的V8 JavaScript引擎也将更新。

对于Node.js用户来说,最大的变化就是涡扇和点火的引入。点火是V8的解释器,涡扇是优化编译器。

“点火和涡扇的联合使用已经发展了近三年,这代表了V8团队集体认识的最终结果。这是V8团队收集了JavaScript的实测性能,并仔细分析了Full-codegen和曲轴的缺点的结果。这也是未来几年继续优化JavaScript语言体系的基础。”-丹尼尔克利福德和V8团队

目前V8的编译流水线如下图所示。

这个管道最大的问题是新的语言函数必须在管道的不同部分实现,这增加了很多额外的开发工作。

以下是不带全代码生成器和曲轴的简化管道:

新管道大大减轻了V8团队的技术负担,实现了很多之前无法实现的改进。

了解更多关于涡扇发动机和点火以及涡扇发动机内联试探法的信息。

将npm升级到5.0.0

Node.js 8的新版本还附带了NPM 5——NPM CLI的最新版本。

新npm版本的亮点:

不再需要用于跨包管理器兼容性的新的标准化文件锁定功能(package-lock.json)和用于shrinkwrap - save的新格式和语义,因为默认情况下所有安装都将保存node-gyp,现在支持Windows的node-gyp.cmd的新版本将包括sha512和sha1,以验证node.js8版本中的其他重大更改。

缓冲器

Buffer方法现在接受Uint8Array作为输入

子进程

论证和扼杀信号的验证得到改进。子进程方法接受Uint8Array作为控制台输入

使用console方法时,错误事件的发送现在被抑制

nativeprovidence实例现在是域感知的

文件系统

实用程序类fs。SyncWriteStream已被否决。已弃用的fs.read()字符串接口已被删除HTTP

溢出Cookie头将被连接成一个字符串

httpResponse.writeHeader()方法已被否决

溪流

流现在支持销毁()和销毁()API

坦克激光瞄准镜(Tank Laser-Sight的缩写)

拒绝未授权选项现在默认为真

统一资源定位器

现在,Node.js API完全支持WHATWG URL的实现

Node.js 8接下来会做什么

Node.js 8的版本让我们很兴奋,因为它包含了很多有趣的增强,比如Async Hooks API,这在当前的文档状态下很难掌握。我们将尽快开始使用新版本,并尽快向用户提供新功能的更详细描述。

版权声明:综合分析Node.js8的重要功能和修复是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。