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

栏目: Node.js · 发布时间: 5年前

内容简介:时隔一年,Node.js 12 如约而至,正式发布第一个 Current 版本。它将从2019年10月开始进入长期支持(LTS)版本直到2022年4月。该版本带来的新特性:

前言

时隔一年,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有哪些值得关注的新特性?


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

奇点临近

奇点临近

Ray Kurzweil / 董振华、李庆成 / 机械工业出版社 / 2011-10 / 69.00元

人工智能作为21世纪科技发展的最新成就,深刻揭示了科技发展为人类社会带来的巨大影响。本书结合求解智能问题的数据结构以及实现的算法,把人工智能的应用程序应用于实际环境中,并从社会和哲学、心理学以及神经生理学角度对人工智能进行了独特的讨论。本书提供了一个崭新的视角,展示了以人工智能为代表的科技现象作为一种“奇点”思潮,揭示了其在世界范围内所产生的广泛影响。本书全书分为以下几大部分:第一部分人工智能,第......一起来看看 《奇点临近》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具