Node.js v8.0.0 带来了哪些主要新特性
Node.js于5月30号在其官方博客上发布了Node.js v8.0.0。这一版本将成为当前的长期维护版本,从2017年10月开始到2019年12月31号。而Node.js v6.0.0将会在2018年4月进入维护模式,并于2019年4月结束。
\\
最新发布的版本代号为Carbon,带来了很多重要的特性改进和一些全新的特性。
\\
引入async_hooks模块
\\
新引入实验性模块async_hooks(之前叫作async_wrap),它包含了一组用于诊断的API,开发人员可以用它监控Node.js事件循环里的各种操作,跟踪句柄对象全生命周期的事件。可以通过该模块的createHooks方法注册用于处理句柄对象生命周期各个阶段事件的函数。
\\
\const asyncHooks = require('async_hooks')\asyncHooks.createHooks({\init,\pre,\post,\destroy\})
\\
更多关于这个新模块的内容可以查看文档和它的开发进度情况。
\\
引入N-API
\\
Node.js API(N-API)为开发人员提供了一组新的实验性API,用于开发原生插件。它独立于底层的JavaScript运行时,并作为Node.js的一部分进行维护。引入N-API的主要目的是提供一套与虚拟机无关的应用二进制接口(ABA),这样插件只要编译一次就可以运行在各种版本的Node.js上,甚至包括来自其他公司的虚拟机,比如微软的Chakra Core。
\\
N-API也是一个实验特性,更多有关N-API的信息可以参考官方文档。开发人员现在就可以使用这套API,并可以提供反馈以便更好地改进API。
\\
Buffer安全性的改进
\\
在v8.0.0之前,Buffer是通过new Buffer(num)方法来分配的,并没有使用零值来初始化内存空间,新建的Buffer对象可能包含敏感数据,会导致安全问题。
\\
不过,使用Buffer(num)构造函数创建出来的对象对性能有一点影响,如果开发人员更加看重性能,那么可以使用Buffer.allocUnsafe(num)来创建一个未初始化内存的对象。
\\
\// 使用零值初始化过的对象\const safeBuffer1 = Buffer.alloc(10);\const safeBuffer2 = new Buffer(10);\// 未初始化的对象\const unsafeBuffer = Buffer.allocUnsafe(10);
\\
升级V8引擎到5.8版本
\\
升级V8引擎带来了更好的性能和更多面向开发人员的API。V8 5.8可以保证ABA兼容5.9和即将到来的6.0,从而确保Node.js原生插件的稳定性。后续还会逐步将引擎升级到5.9和6.0。
\\
升级引擎还意味着新的编译器管道——TurboFan和Ignition。Ignition是V8引擎的解释器,TurboFan是优化编译器,虽然它们在之前就已存在,但把它们作为默认的组合还是首次(将在V8 5.9里实现)。这是一个重大的转变,将为性能带来极大的提升。
\\
升级npm到5.0.0
\\
Node.js v8.0.0包含了最新的npm 5.0.0,其主要特性如下。
\\
- 新的标准化文件锁机制。\\t
- 不再需要--save,所有的安装都是默认保存的。\\t
- node-gyp现在支持Windows。\\t
- 新的发布包含SHA512和SHA1校验和检查。\
更多有关npm 5.0.0的新特性可以参考npm的文档。
\\
Node.js v8.0.0还包括子进程、控制台、文件系统、流、HTTP、TLS、URL等方面的改进。
Node.js v8.0.0 带来了哪些主要新特性相关推荐
- ERROR: npm v9.4.1 is known not to run on Node.js v8.13.0.
前面全是废话,大家可以直接看序号8下面的nvm的命令以及序号11之后的问题解决,希望能帮助到你们! 是个什么问题呢?昨天领导给了个前后端分离的项目,让不才我搭建一下环境,我兴高采烈的拿着项目搭建手册按 ...
- node 更新_ESLint v7.0.0 发布:不再支持 Node.js v8
作者 | 李俊辰 近日,ESLint 的主要升级版本 ESLint v7.0.0 正式发布.此次更新除了修复已知 bug 和增强特性外,还增加了一些新特性以及 bugfix.官方更新文档中提及,由于 ...
- Node.js 11.12.0 发布,服务器端的 JavaScript 运行环境
Node.js 11.12.0 发布了.Node.js 是一个基于 Chrome V8 引擎的 JavaScript runtime,使用高效.轻量级的事件驱动.非阻塞 I/O 模型. 新版本更新亮点 ...
- 华为否认今年将推出搭载鸿蒙系统手机;苹果或在 3 年内推出 5G 基带芯片;Node.js 12.12.0 发布 | 极客头条...
快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有 ...
- 百度网盘将推出单次会员服务;苹果回应否认操纵搜索结果;Node.js 12.7.0 发布 | 极客头条...
快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有 ...
- Node.js 11.14.0 发布,服务器端的 JavaScript 运行环境
Node.js 11.14.0 发布了.Node.js 是一个基于 Chrome V8 引擎的 JavaScript runtime,使用高效.轻量级的事件驱动.非阻塞 I/O 模型. 新版本更新亮点 ...
- 10月14日科技资讯|华为折叠屏手机月底或开卖;苹果计划 3 年内推出 5G 基带芯片;Node.js 12.12.0 发布 | 极客头条
「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有料的新闻资讯,让所有技术人,时刻紧跟业界潮流. 整理 | 胡 ...
- VUE3.0 一.安装node.js、vue3.0脚手架
VUE3.0 一.安装node.js.vue3.0脚手架 1.安装nodejs 首先去官网下载nodejs 查看npm和node版本,出现版本号即安装成功. npm -v # 6.13.4node - ...
- 腾讯回应 QQ 被工信部通报;由微软老兵领导,Facebook 开发新操作系统;Node.js 13.4.0 发布 | 极客头条...
整理 | 屠敏 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注 ...
最新文章
- 怎样增加混凝土粘聚性_改善中低强度等级混凝土粘聚性的方法
- 海康 安全码 修改密码_手机为什么要设置PIN码 手机设置PIN码的原因【介绍】
- docker一键部署jenkins服务(一)
- 光流 | OpenCV3实现LK Optical Flow(代码类)
- Javascript 调试技巧
- asp.net web submit链接页面_De1CTF2020的Web部分题解
- 计算机二级c语言模拟题,2016下半年计算机二级C语言模拟试题及答案
- 如何更改 Safari 浏览器文件下载位置?
- .Net Core应用框架Util介绍(一)转
- 圆钢孔型计算机模拟,第五章 金属塑性加工ppt课件.ppt
- linux中批量删除用户,Linux shell批量删除用户
- XML文件里处理大于号小于号方式
- everedit 保存机器学习路径注意事项
- Futaba M11BT222A VFD(主控PT6311)STC51单片机驱动程序
- .find()的用法
- 原来路由器的USB接口这么强大!这样设置,路由器秒变私有云盘
- 【转】增强型、耗尽型MOS
- 深度学习矩阵乘法的终极奥义einsum,结合多个计算框架上的使用
- 花费多少钱能创建百度百科词条?
- USB、串口、422、485、CAN接口互转模块
热门文章
- JAVA实现调整数组顺序使奇数位于偶数前面问题(《剑指 offer》)
- 虚数有物理意义吗?潘建伟范靖云团队最新量子力学研究同日登顶刊,引发基础数理热议...
- 他22岁在家自造芯片,性能接近英特尔初代,连光刻机都有解决方案
- 秒秒钟揪出张量形状错误,这个工具能防止ML模型训练白忙一场
- @所有城市:想建AI智算中心的看这里!国家认可的那种
- 北大电池新研究登上Nature:3万次循环测试,性能衰减不到30%,大幅提高锂空电池性能...
- 人形AI捉迷藏惊煞网友:飞檐走壁纯靠自学,表情丰富还会合作,姚班学霸吴翼参与...
- Shell编程—【01】shell中常用的字符串操作
- 题目1526:朋友圈
- hibernate逆向工程生成的实体映射需要修改