Node12有哪些值得关注的新特征?

媒介

时隔一年,Node.js 12 履约而至,正式宣布第一个 Current 版本。它将从2019年10月最先进入历久支撑(LTS)版本直到2022年4月。

该版本带来的新特征:

  • V8 更新带来许多不错的特征。
  • HTTP 剖析速率提拔。
  • 启动速率大幅提拔。
  • 更好的诊断报告和堆剖析东西。
  • ESM 模块更新。

LTS

《Node12有哪些值得关注的新特征?》

Node保护了着两条宣布流程线:奇数版本每一年的10月份宣布,偶数版本第二年的4月份宣布。当一个奇数版本宣布后,近来的一个偶数版本会马上进入LTS保护设计,一向延续18个月(LTS Start )。再以后会有12个月的延伸保护期(Maintenance Start)。

这两个时期可以支撑的变动是不一样的:

  • LTS时期支撑的变动:bug fix,平安题目 fix, 文档更新和与将来新特征兼容题目的更新。
  • Maintenanece时期支撑的变动: 严峻的bug fix,严峻的平安题目 fix 或许文档更新。当一个偶数版本宣布时,奇数版本只要2个月的保护期,再只能乖乖晋级。

就如今而言,Node.js 6.x 和 8.x 将在 2019 岁终完毕 LTS 的支撑,人人尽快晋级到 10.x 吧。

ESM

自从ES6中的标准化以来,import/ exportsyntax已成为JavaScript开发人员的首选模块语法,而Node团队一向在努力实现本机化。实验性支撑从第8阶段的Node 8.0最先,并在最新的Node版本上迈出了主要的一步。一切主流浏览器都支撑 ECMAScript模块<script type="module">,因而这是Node的一个庞大更新。

// default exports
import module from 'module'
// named exports
import { namedExport } from 'module'
// namespace exports
import * as module from 'module'

V8引擎更新到7.4

本次版本更新,也带几个不错的特征:

  • 异步客栈跟踪
  • 参数挪用不婚配时的挪用速率优化
  • 更快的 JavaScript 剖析速率
  • 更快的 await

ECMAScript 新特征支撑

跟着 V8 的更新,许多 ES 的新范例也落地了,比方支撑类的私有变量。

class Greet {
  #name = 'World';
  get name() {
    return this.#name;
  }
  set name(name) {
    this.#name = name;
  }
  sayHello() {
    console.log(`Hello, ${this.#name}`);
  }
}

在类的外部或去#name变量会抛出非常

const greet = new Greet()
greet.#name = 'NewName';
// -> SyntaxError
console.log(greet.#name)
// -> SyntaxError

改良了启动机能

Node 将在构建时候之前为内置库构建代码缓存并将其嵌入为二进制文件。主线程可以运用此代码缓存,将启动时候收缩30%。

HTTP 剖析速率提拔

默许的 HTTP 剖析器切换为 llhttp ,机能提拔明显
《Node12有哪些值得关注的新特征?》

TLS和平安

Node 12 如今支撑TLS 1.3,它供应更高的平安性和更短的耽误。TLS 1.3已经成为协定的一个严重更新,而且正在积极地在Web上集成。经由过程实行TLS 1.3,Node应用程序将增添最终用户隐私,同时经由过程削减HTTPS握手所需的时候来进步要求机能。另外,默许情况下已禁用TLS 1.0和1.1,而且crypto库已删除已弃用的函数。

堆大小分派战略

之前运用默许的V8堆大小,相当于700MB(32位体系)或1400MB(64位体系)。Node如今将依据可用内存肯定堆大小,这将确保它不会运用凌驾许可的资本。

堆转储功用

Node 12供应了生成堆转储的功用,从而可以更轻松地观察内存题目。

其他值得关注的更新

  • 事情线程不再须要标志
  • http已将其默许剖析器更新为llhttp
  • assert 考证所需的参数并调解松懈的断言
  • buffer 革新使其更稳固和平安
  • async_hooks 删除已弃用的功用

本文首发于民众号「前端新视界」,分享前端资讯、手艺干货、编码人生,迎接关注。

《Node12有哪些值得关注的新特征?》

    原文作者:hzrWeb
    原文地址: https://segmentfault.com/a/1190000019002746
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞