返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Node.js 8重要功能和修复的示例分析
  • 642
分享到

Node.js 8重要功能和修复的示例分析

2024-04-02 19:04:59 642人浏览 安东尼
摘要

这篇文章主要介绍了node.js 8重要功能和修复的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。5月30日12点,node.js

这篇文章主要介绍了node.js 8重要功能和修复的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

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的编译管道如下图所示。

Node.js 8重要功能和修复的示例分析

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

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

Node.js 8重要功能和修复的示例分析

新管道大大降低了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在当前的文档状态是很难掌握的。我们将尽快开始使用新版本,并尽快提供给用户新功能的更详细说明。

感谢你能够认真阅读完这篇文章,希望小编分享的“Node.js 8重要功能和修复的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网JavaScript频道,更多相关知识等着你来学习!

--结束END--

本文标题: Node.js 8重要功能和修复的示例分析

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

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

猜你喜欢
  • Node.js 8重要功能和修复的示例分析
    这篇文章主要介绍了Node.js 8重要功能和修复的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。5月30日12点,Node.js ...
    99+
    2024-04-02
  • 全面解析Node.js 8 重要功能和修复
    5月30日12点,Node.js 8正式发布了,这个版本具有一系列新功能和性能改进,并且这些功能和改进将获得长期支持(LTS)。 下面就来介绍Node.js 8版本中最重要的功能和修复。 新版本的代号是Ca...
    99+
    2022-06-04
    功能 Node js
  • 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.js中性能指标的示例分析
    小编给大家分享一下Node.js中性能指标的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!对于我们前端工程师来说,掌握N...
    99+
    2024-04-02
  • Angular5.1新功能的示例分析
    这篇文章主要介绍Angular5.1新功能的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!新特性Angular Material和CDK稳定版CLI中支持Service Wo...
    99+
    2024-04-02
  • Tomcat两个重要漏洞的示例分析
    本篇文章给大家分享的是有关Tomcat两个重要漏洞的示例分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Tomcat 今天又爆出两个新的重要的漏洞,这两个漏洞分别是:CVE-...
    99+
    2023-06-17
  • 网站测试重要性的示例分析
    这篇文章将为大家详细讲解有关网站测试重要性的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。网站不稳定的情况我们在浏览网站时,在浏览的过程中,有时会出现错误代码提示,或许是连接不上,或者是找不到所要...
    99+
    2023-06-10
  • Node.js中进程和线程的示例分析
    这篇文章给大家分享的是有关Node.js中进程和线程的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。进程与线程是一个程序员的必知概念,面试经常被问及,但是一些文章内容只是讲讲理论知识,可能一些小伙伴并没有...
    99+
    2023-06-15
  • Python应用的功能的示例分析
    Python应用的功能的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python应用在计算机语言中被广泛的应用,其特点是语法比较清晰,在多种的操作系统中都可以使用...
    99+
    2023-06-17
  • win7系统修复的示例分析
    小编给大家分享一下win7系统修复的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!点击开始菜单,在搜索框中输入CMD。在搜索结果中找到CMD程序,右键点击...
    99+
    2023-06-28
  • Node.js8重要功能有哪些和修复的方法是什么
    这篇文章主要介绍了Node.js8重要功能有哪些和修复的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Node.js8重要功能有哪些和修复的方法是什么文章都会有所收获,下面我们一起来看看吧。Async...
    99+
    2023-06-17
  • webpack实用小功能的示例分析
    这篇文章主要介绍webpack实用小功能的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!webpack比较实用的功能1.overlayoverlay属于devServer的属...
    99+
    2024-04-02
  • React中并发功能的示例分析
    这篇文章将为大家详细讲解有关React中并发功能的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。React 是一个开源 JavaScript 库,开发人员使用它来创建基于 Web 和移动的应用程序...
    99+
    2023-06-20
  • python中不同的CSV功能和使用示例分析
    这篇文章给大家分享的是有关python中不同的CSV功能和使用示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB前端开发,众多大...
    99+
    2023-06-14
  • Windows 8的故障恢复和重置功能的操作步骤
    Windows8的故障恢复和重置功能无法使用提示“缺少一些文件,你的windows安装或恢复介质将提供这些文件”,如下图:解决步骤:1. 点击超级按钮中的“设置&rdqu...
    99+
    2022-06-04
    操作步骤 故障 功能
  • Android接入热修复的示例分析
    Android接入热修复的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。AndroidManinifest.xml中加入权限 <uses-permi...
    99+
    2023-06-29
  • nginx负载功能+nfs服务器功能的示例分析
    这篇文章主要介绍了nginx负载功能+nfs服务器功能的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用nfs服务器使3台server服务器网页内容一致#本文使用的...
    99+
    2023-06-29
  • EasyUI中TreeGrid过滤功能的示例分析
    小编给大家分享一下EasyUI中TreeGrid过滤功能的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!写在最前面这个星期一直在纠结easyui的treegrid的过滤功能,原因呢...
    99+
    2024-04-02
  • python中使用pandas功能的示例分析
    小编给大家分享一下python中使用pandas功能的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python的五大特点是什么python的五大特点:1...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作