Node.js 12已成为服务器端JavaScript框架的最新版本,具有更快的启动速度和改进的默认堆限制。 Node.js 12是LTS(长期支持)版本,意味着它将得到三年的支持,其中包括六个月(当前版本),18个月(活动版本)和12个月(维护版本)。
在哪里下载Node.js
您可以从nodejs.org网站下载 Node.js。
Node.js 12的新增功能
最新版本的Node.js中的功能包括:
- Node.js 12将主线程的启动时间缩短了30%,并在构建时提前为内置库生成了代码缓存,并将其嵌入二进制文件中。 在最终版本中,主线程可以使用代码缓存来启动任何用JavaScript编写的内置库的初始加载。
- 开箱即用地提供了生成的堆转储功能,用于调查内存问题。
- JavaScript堆大小将基于可用内存进行配置,而不是使用由V8 JavaScript引擎设置用于浏览器的默认值。 以前,V8默认在32位和64位平台上分别将最大堆大小限制为700MB或1400MB。 根据可用内存配置堆可确保Node.js不会尝试使用超出可用内存的内存。 在处理大型数据集时,此新功能特别有用。 用户仍然可以使用
--max-old-space-size
设置自己的默认限制。 - TLS(传输层安全性)1.3,因为默认为最大协议。 如果需要,将支持
CLI/NODE_OPTIONS
开关以禁用TLS。 TLS 1.3是对该协议的重大更新。 - V8 JavaScript引擎 (Node.js的运行时)已更新至7.4版,带来了性能调整和改进。
- 与工作线程和N-API 4结合使用的对本机模块的改进支持应该使本机附加组件的构建更加容易。
- 更新了对ECMAScript 6的实验支持。 这是迈向受支持实现的一步。
- 默认解析器切换为llhttp 。 测试新的llhttp实现将更加容易。
- 使用工作线程不再需要使用标志。
- 包含实验诊断报告功能,可在某些事件发生时按需生成报告。 这对于诊断生产中的问题(如崩溃,性能降低,内存泄漏或CPU使用率过高)很有用。
- 现在,代码库在MacOS和Windows以外的平台上至少需要GCC(GNU编译器集合)6和glibc 2.17。 在nodejs.org上发布的二进制文件至少使用此工具链,因此包括新的编译时性能和安全性增强。
Node.js 11的新增功能
Node.js在2018年10月版中提供了以下新功能或更新的功能:
- 对于子进程,
windowsHide
选项的默认值已更改为true
。 - 随附V8版本7 JavaScript和WebAssembly引擎 。
-
read()
方法需要回调。 - 即使前一个间隔引发错误,间隔计时器也会重新安排。
- Windows性能计数器支持已删除。
- 先前不推荐使用的
SyncWriteStream
实用工具已被删除。 - 不建议使用
binding()
。 - 不再支持FreeBSD 10。
Node.js 10的新增功能
自2018年4月发布以来,Node.js 10也获得了一些增强:
- 每秒的操作量几乎是以前版本Node.js 6的两倍,并且延迟减少了65%。
- 与Node.js 6相比,Node.js 10中的负载后占位面积降低了35%,从而提高了冷启动性能。
Node.js 10之前添加了以下功能:
- 支持OpenSSL 1.1.0安全工具包。
- N-API,一种模块API,可降低本机模块的维护成本并减少在生产部署中升级Node.js版本时的摩擦。
- HTTP / 2,与以前的HTTP / 1相比,性能有所提高。
- V8 6.8 JavaScript和WebAssembly引擎,提供了改进的WebAssembly执行速度。
- NPM 6.4与JavaScript软件包安装程序的第6版一起提高了性能,同时还注重稳定性和安全性。
- 更好地支持ECMAScript(ES)6模块 。 Node.js拥有自己的模块系统,但是ECMAScript 6提供了标准化的模块系统。
- JavaScript语言的改进,包括
prototype.toString()
,该函数现在返回源代码文本的精确片段,并缓解了侧通道漏洞,以防止信息泄漏。 - 改进了错误处理功能,并采用了错误代码以简化持续的错误检查。
- 通过V8可以提高性能,包括
async
生成器和array
。 - 通过跟踪事件提高了对代码性能问题的可见性。
- 该API允许用户代码在运行时按需启用和禁用跟踪事件,以提高诊断应用程序中问题的灵活性。
Node.js即将发生什么
未直接与Node.js 10或Node.js 11发行版绑定的Node.js项目中的其他工作包括:
- 第三方NPM模块在安全分类方面的持续进展。
- 第三方模块的功能测试,以确保维护依赖项。
这个故事“ Node.js 12 JavaScript运行时中的新增功能”最初由InfoWorld发布 。
From: https://www.idginsiderpro.com/article/3257673/whats-new-in-the-nodejs-javascript-runtime.html