iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >全面解析Node.js 8 重要功能和修复
  • 556
分享到

全面解析Node.js 8 重要功能和修复

功能Nodejs 2022-06-04 17:06:51 556人浏览 安东尼
摘要

5月30日12点,node.js 8正式发布了,这个版本具有一系列新功能和性能改进,并且这些功能和改进将获得长期支持(LTS)。 下面就来介绍node.js 8版本中最重要的功能和修复。 新版本的代号是Ca

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

下面就来介绍node.js 8版本中最重要的功能和修复。

新版本的代号是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/

Async Hooks API 介绍

Async Hooks (以前称为AsyncWrap) api允许获取有关句柄对象生命周期的结构跟踪信息。

API发出的消息会将Node.js中所有句柄对象的生命周期告知给consumer。它试图解决类似于continuation-local-storage npm package这样的问题。

如果你正在使用continuation-local-storage,那么已经可以用称为cls-hook的async hooks来代替使用了 ? 只是目前并不是使用async hooks的最好时机,所以需要谨慎使用!

Async Hooks API 在 Node.js 8 中如何工作

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


const asyncHooks = require('async_hooks')
asyncHooks.createHooks({ 
 init,
 pre,
 post,
 destroy
})

了解更多Async Hooks,或查看正在进行的工作文档。这些函数将会根据处理程序对象的生命周期事件选择性触发。

N-API 介绍

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

N-API的目的是将附加组件和基础JavaScript引擎中的更改区分开,以便原生插件在不需要重新编译情况下,就可以运行不同的Node.js版本。

了解更多N-API信息。

Node.js 8 中的缓冲区安全性改进

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

虽然这是一个用于提高创建新Buffer性能的决定,但是对大多数人来说,并不打算这么使用。因此从Node.js 8开始,使用new Buffer(Number)或Buffer(Number)分配的Buffers会被ZEROS自动填充。

将 V8 升级到 5.8:TurboFan & Ingnition

使用Node.js 8版本,底层的V8 JavaScript引擎也会更新。

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

“Ignition和TurboFan的联合使用已经开发了近3½年,它代表了V8团队集体认识的最终结果,是V8团队收集了JavaScript的实测性能并仔细分析了Full-codegen的缺点和Crankshaft的结果。这也是能够在未来几年内继续优化JavaScript语言体系的基础。“ - Daniel Clifford和V8团队

目前V8的编译管道如下图所示。

查看图片

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

下面是简化的管道,没有了FullCode Generator和Crankshaft:

查看图片

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

了解更多TurboFan and Ignition 和 TurboFan Inlining Heuristics 。

将 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.js 8 版本中的其它显著改变

Buffer

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

Child Process

Argument和Kill信号验证得到改善 Child Process方法接受Uint8Array作为输入

Console

使用控制台方法时,错误事件发送现在受到了抑制

Domains

Native Promise实例现在是域感知的

文件系统

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

HTTP

溢出的Cookie headers会被连接成一个字符串

HttpResponse.writeHeader( )方法已被弃用

Stream

Stream现在支持destroy( )和_destroy( ) API

TLS

该rejectUnauthorized选项现在默认为true

URL

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

Node.js 8 下一步要做什么

Node.js 8版本令我们兴奋,因为它包含了很多有趣的提升,例如Async Hooks API,这些API在当前的文档状态是很难掌握的。我们将尽快开始使用新版本,并尽快提供给用户新功能的更详细说明。

--结束END--

本文标题: 全面解析Node.js 8 重要功能和修复

本文链接: http://www.lsjlt.com/news/12550.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Node.js 8重要功能和修复的示例分析
    这篇文章主要介绍了Node.js 8重要功能和修复的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。5月30日12点,Node.js ...
    99+
    2024-04-02
  • Node.js 8有哪些重要功能和修复
    Node.js 8有哪些重要功能和修复,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Async Hooks API介绍Async Hooks (以前称为AsyncWrap) A...
    99+
    2023-06-04
  • Node.js8重要功能和修复内容有哪些
    本文小编为大家详细介绍“Node.js8重要功能和修复内容有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Node.js8重要功能和修复内容有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Async H...
    99+
    2023-07-04
  • Node.js8重要功能有哪些和修复的方法是什么
    这篇文章主要介绍了Node.js8重要功能有哪些和修复的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Node.js8重要功能有哪些和修复的方法是什么文章都会有所收获,下面我们一起来看看吧。Async...
    99+
    2023-06-17
  • PyCharm技巧:替换功能全面解析
    PyCharm技巧:替换功能全面解析 PyCharm是一款功能强大的集成开发环境,广泛用于Python开发。在编写代码过程中,经常需要进行替换操作来提高代码的质量和效率。PyCharm...
    99+
    2024-02-22
    pycharm 解析 替换功能
  • 全面解析SpringBoot文件上传功能
    这些天忙着刷题,又怕遗忘了spring boot, 所以抽出一点时间折腾折腾,加深点印象。 spring boot 的文件上传与 spring mvc 的文件上传基本一致,只需注意一些配置即可。 环境要求: Spring Boot v1.5...
    99+
    2023-05-30
    springboot 文件上传 bo
  • 阿里云服务器粘贴复制功能全面解析
    随着互联网技术的快速发展,服务器的应用越来越广泛,阿里云服务器作为国内领先的云计算服务提供商,以其丰富的功能和强大的性能受到广大用户的一致好评。本文将详细解析阿里云服务器的粘贴复制功能,帮助用户更好地理解和使用。 粘贴复制功能是服务器用户日...
    99+
    2023-10-29
    阿里 功能 服务器
  • 探索WordPress:功能与优势全面解析
    探索WordPress:功能与优势全面解析 WordPress是一个功能强大、灵活且易于使用的开源内容管理系统(CMS),广泛应用于网站和博客创建。它拥有强大的插件和主题生态系统,可满...
    99+
    2024-02-29
    功能 优势 wordpress插件
  • PyCharm新手指南:替换功能全面解析
    PyCharm是一款功能强大的Python集成开发环境,具有丰富的功能和工具,能够极大地提高开发效率。其中,替换功能是开发过程中经常用到的功能之一,能够帮助开发者快速修改代码并提高代码...
    99+
    2024-02-25
    替换 pycharm 介绍
  • win10更新缺少重要的安全和质量修复怎么解决
    这篇文章主要介绍“win10更新缺少重要的安全和质量修复怎么解决”,在日常操作中,相信很多人在win10更新缺少重要的安全和质量修复怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”win10更新缺少重要...
    99+
    2023-07-01
  • 阿里云服务器扩展功能全面解析
    阿里云服务器是阿里云提供的一种弹性计算服务,具有高性能、低成本、高可用性等特点。本文将详细介绍阿里云服务器的扩展功能,包括服务器的扩展方式、扩展后的性能提升、扩展过程中的注意事项等内容。 阿里云服务器的扩展功能:阿里云服务器提供了丰富的扩展...
    99+
    2023-10-29
    阿里 功能 服务器
  • 解析Go语言的Main函数:入口函数的重要性和功能
    小伙伴们对Golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《解析Go语言的Main函数:入口函数的重要性和功能》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分...
    99+
    2024-04-05
  • 解读绝对定位元素的重要性和功能
    理解绝对定位元素的重要性及作用, 需要具体代码示例 引言:在网页布局中,我们经常会使用绝对定位元素来控制和调整页面上元素的位置。绝对定位是一种非常有用的布局技术,它可以使我们更灵活地控制元素的位置。本文将介绍绝对定位元素的重要性...
    99+
    2024-01-23
    绝对定位 定位元素/定位 重要性/作用
  • 云服务器vCPU:了解虚拟CPU的重要性和功能
    1. 什么是vCPU? 在云计算中,vCPU(虚拟中央处理单元)是指在云服务器实例中分配给虚拟机的计算资源。vCPU是一种虚拟化技术,它模拟了物理服务器上的CPU,并允许多个虚拟机在同一物理服务器上同时运行。 2. vCPU的重要性 vC...
    99+
    2023-10-28
    重要性 功能 服务器
  • 阿里云服务器要求全面解析和选择指南
    阿里云作为国内领先的云计算服务商,提供了丰富的服务器产品和解决方案。本文将全面解析阿里云服务器的规格、性能、安全和价格等方面的要求,帮助用户选择最适合自己的服务器。 一、阿里云服务器规格阿里云服务器的规格主要分为CPU、内存、存储、网络和操...
    99+
    2023-10-29
    阿里 服务器 指南
  • 如何使用Pandas处理数据中的重复值:全面解析去重方法
    Pandas去重方法全面解析:轻松处理数据中的重复值,需要具体代码示例 引言:在数据分析和处理过程中,常常遇到数据中包含重复值的情况。这些重复值可能会对分析结果产生误导或影响数据的准确性。因此,去重是数据处理的重要一环。Pand...
    99+
    2024-01-24
    Pandas 数据处理 去重
  • 大数据开发中Java IDE的选择:从性能到功能全面解析!
    随着互联网时代的到来,数据已经成为了企业和组织运营的核心资产。企业需要从海量的数据中挖掘出有价值的信息,以便更好地服务于客户和做出更明智的决策。这就需要使用大数据技术来处理和分析数据。在大数据开发过程中,选择一款高效的Java IDE是至关...
    99+
    2023-07-04
    大数据 ide 数据类型
  • 阿里云数据库被删了能恢复吗?全面解析恢复方案
    阿里云数据库是阿里云提供的数据库服务,如果数据库被误删,如何恢复?本文将详细介绍恢复方案,帮助用户解决问题。 一、阿里云数据库被删了能恢复吗?首先,我们要明确一点,阿里云数据库被误删后是有可能恢复的,但是恢复过程可能较为复杂,需要一定的专业...
    99+
    2023-11-02
    阿里 删了 数据库
  • 多语言网站的利器:CMS 的多语言支持功能全面解析
    多语言网站对于企业开拓全球市场至关重要。内容管理系统 (CMS) 通常提供内置的多语言支持功能,使网站管理员能够轻松地创建和管理多语言网站。本文将深入探讨 CMS 的多语言支持功能,帮助您了解其优势并优化您的多语言网站。 CMS 多语言...
    99+
    2024-03-05
    多语言网站、CMS、多语言支持、国际化
  • 阿里云数据库磁盘性能测试全面解析和优化
    在云计算环境下,数据库磁盘性能的优劣直接决定了系统的整体性能和稳定性。阿里云数据库提供了一系列磁盘性能测试工具和方法,以帮助用户深入了解和优化数据库磁盘性能。本文将详细介绍阿里云数据库磁盘性能测试的相关内容。 一、阿里云数据库磁盘性能测试概...
    99+
    2023-11-23
    阿里 磁盘 性能测试
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作