5月30日十二点,Node.js 8正式发布。这个版本有一系列新的
功能和
性能改进,这些功能和改进将得到长期
支持(LTS)。
以下是Node.js 8版最重要的特点与维修。
代码的新版本将于2017年10月carbon.node.js 8 LTS的当前版本,并将持续到2019年12月31日。这也意味着Node.js 6版本将在2018年4月进入维修
模式和维修支持在2019年4月结束。
8版:
下载Node.js https: / / / NodeJS。org下载 / / v8.0.0-rc RC 2 /。
异步挂钩API的
介绍 异步钩(原名asyncwrap)API允许访问结构跟踪句柄的对象的生命周期信息。
通过API把
消息告诉在Node.js的所有
处理对象的生命周期消费。它试图
解决本地存储包的问题的延续。
如果您使用的是延续的本地存储,你可以使用异步调用钩子钩华彩而不是用它。它只是不使用异步钩的最佳时机,因此需要谨慎使用。
如何异步钩Node.js API作品8
该createhooks功能
注册函数称为每个异步
操作的不同生命周期事件。
const asynchooks =需要('async_hooks)
asynchooks.createhooks({
初始化,
之前,
后,
破坏
})
了解更多关于异步钩,或看看准备
工作文件。这些功能将被选择性地触发根据
处理器对象的生命周期事件。
n-api介绍
n-api这个API是用来建立一个本地plug-in.it是
独立于底层的Javascript
运行时,如Node.js本身保持。这样做的目的是为了确保
应用程序二进制接口(ABI)可以保持稳定,Node.js版本之间的不同。
对n-api的目的是将额外的
组件,从基本的Javascript引擎的变化,使原来的
插件可以运行不同的Node.js版本而无需重新编译。
了解更多关于n-api信息。
在Node.js 8缓冲的安全性改进
在Node.js 8版,分配缓冲区使用新的缓冲液(数)的构造函数没有使用零初始化的
内存空间。其结果是,新的缓冲区实例可能包含敏感信息,容易导致安全问题。
虽然这是一个决定提高创造一个新的缓冲性能,它不适合大多数人使用它。所以从Node.js 8,缓冲区分配使用新的缓冲区(数)或Buffer(号)将自动填充的零点。
V8引擎将
升级到5.8:turbofaningnition
使用Node.js 8版本,底层的V8 Javascript引擎也将被更新。
对Node.js的
用户,最大的变化是TurboFan和点火的介绍。点火是V8的
翻译,和TurboFan是编译器
优化。
点火和TurboFan的联合使用已经发展了近31年 2年。它代表V8团队的集体理解的最终结果。V8团队收集了Javascript的测量性能,并认真分析了完整的代码生成的缺点和曲轴的结果。这也为继续优化在未来几年的Javascript
语言系统的基础。Daniel Clifford和V8团队
当前编译的V8引擎管道如下图所示。
这条管道最大的问题是必须在管道的不同部分实现新的语言功能,这增加了许多额外的发展。
以下是简化管道、无fullcode发生器和曲轴:
新的管道大大减少了V8团队的技术负担,并实现了许多以前没有实现的改进。
了解更多关于TurboFan和点火和涡扇内联启发式。
升级NPM 5.0.0
Node.js 8新版本还配备了NPM 5 NPM CLI
最新版本。
新版本的新的亮点:
一种新的标准化锁定文件功能用于跨包
管理器的
兼容性(包锁。JSON),和一个新的格式和语义
压缩。
不再需要
保存,因为
默认情况下所有的
安装都将被保存。
节点可以现在支持Windows node-gyp.cmd
新版本将包括SHA512和SHA1校验
其他重大变化的Node.js 8版
缓冲区
缓冲
方法现在接受uint8array作为
输入 子
进程 改进的
参数和终止
信号验证
子进程的方法接受uint8array作为输入
慰问
当使用
控制台方法时,
错误事件的
传输现在被抑制。
域
本机承诺实例现在是域感知的。
文件系统
本课fs.syncwritestream已被丢弃
的fs.read()字符串接口已被废弃,已被
删除 超
文本传输协议
cookie头的溢出将
连接到字符串。
的httpresponse.writeheader()方法已被丢弃
流
流现在支持销毁()和()API _destroy
TLS
的rejectunauthorized
选项现在默认为true
统一资源定位
地址 WHATWG URL实施现已全面支持Node.js API
Node.js 8下一步要做什么
Node.js 8版本是令人兴奋的,因为它包含了许多有趣的改进,如异步挂钩的API,这是很难掌握的当前
文档中的地位。我们将开始使用新的版本并尽快提供更
详细的用户使用说明的
新功能尽快。