微信号:frontshow

介绍:InfoQ大前端技术社群:囊括前端、移动、Node全栈一线技术,紧跟业界发展步伐。

Node.js 10带着npm 6来了!

2018-04-25 13:18 覃云 编译
今天,Node.js 发布最新版本 Node.js 10.0.0,同时,npm 6 也随之发布。据了解,今年 10 月,Node.js 10.x 将成为长期支持版本,该版本专注于稳定性、扩展支持以及为各类应用提供一个可靠稳定的平台。

在接下来的六个月内,Node 的用户和企业需要密切关注 Node 的动态,并应主动将项目迁移到最新版本上。

Node.js 10.x 将是第一个支持 OpenSSL 1.1.0 的版本。该版本配备了 Google V8 6.6 JavaScript 引擎,性能会增强,错误处理和跟踪诊断能力也将会提升。

此版本还将推出 Node.js API(N-API),N-API 是一个稳定的 API 模块,它独立于 V8,这样就不会阻碍模块在不重新编译的情况下运行新版本的 Node.js。

Node.js Foundation 执行总监 Mark Hinkle 表示,“2015 年首次采取的 Node.js 长期支持版本策略促进了 Node.js 项目的成熟,并吸引了更多的企业使用 Node。Node.js 是一个非常灵活的平台,可用于构建 API、物联网和移动应用程序等。”

关于 N-API

N-API 提高了 Node.js 的 ABI 稳定性,有助于模块的部署和维护。

Node.js 10 将 ABI 的稳定模块 API(N-API)作为官方支持的 API 层。N-API 旨在解决当今生态系统中的两个问题,一是降低本地模块的维护成本,二是在升级 Node.js 版本时,降低模块使用者之间的摩擦。

升级到最新的 Node.js 版本后,Node.js 版本之间的模块损坏将不再成为 N-API 模块的问题,这对于开发者和消费者来说都是双赢的。为了提高此功能的实用性,N-API 也将被移植到 Node.js 8.x 和 6.x 中,还包括下一版本。

微软的高级项目经理 Arunesh Chandra 说,“N-API 提高了 Node.js 所需的 ABI 稳定性,这是 Node.js 演进中一个巨大的里程碑和进步的标志。在一个稳定、VM 多样化的本地模块生态系统中,未来数年内,开发者的生产能力将会在很大程度上得到提高。”

在 VM 多样性的生态中,Node.js(及其本地模块)可以在不同版本的设备、工作负载上和不同的 JavaScript 虚拟机上进行无缝工作。它使开发人员能够扩展 Node.js 生态系统的范围,以便他们可以在更多的设备上重用代码。

随着 Node.js 在物联网中的应用变得越来越普遍,VM 多样性也会变得越来越有必要。许多 VM 供应商正逐渐针对不同的硬件配置文件进行优化,此后,Node.js 将能够扩展到各种不同的 VM 平台上,使 JavaScript 和 Node.js 用户能够随时随地灵活地使用语言和平台。

现代化的加密

Node.js 10.x 是第一代支持 OpenSSL 1.1.0 的版本,Node.js 现在能够充分利用由 OpenSSL 团队在代码质量、清理和现代化上提供的服务。

Node.js 现在可以将其加密支持扩展到对称加密算法 ChaCha20 和身份认证算法 Poly1305 上,它们共同构成了现代加密系统,增加了 Node.js 使用“ AEAD ”密码套件的可能性。

伴随着最近 TLS 1.3 规范的完成,网络安全迈出了一大步,OpenSSL 团队正准备发布 1.1.1 版本,其主要特性是支持 TLS 1.3,而支持 OpenSSL 1.1.1 的 Node.js 10 将可以轻松实现 API 和 ABI 的稳定升级。这样,Node.js 10 在今年十月份成为长期支持版本之前,它就已经能够支持基于现有最全面加密库的 TLS 1.3。

错误处理能力提升

Node.js 10.x 在利用错误代码以缓解持续性的错误检验上取得了很好的进展。过去,更改文本里的错误都需要等到 semver 主版本更新后,这也意味着只有等到下一个主版本的 Node.js 才能对错误进行更改,而 Node.js 主版本每六个月发布一次。使用错误代码将可以在不中断应用程序的情况下更新文本。

性能改进

最新的 V8 在 Promise、异步生成器和阵列性能(array performance)有了很大的改进,Promise 和异步函数的改进消除了异步函数和 desugarded promise 链之间的隔阂,这有利于提高使用 Node.js 构建的应用程序性能

诊断跟踪和 Post mortem

在生产中使用 Node.js 应用程序时,诊断和调试至关重要。最近的几个版本都在这方面有所改进,现在已经有一个专注于 Node.js 诊断问题的工作组。

在 Node.js 10 中,新的跟踪事件由 performance API 发布,提高了代码的透明性。此外,它还将引入了新的 API,允许用户在代码运行时按需启用和禁用跟踪事件,从而提高了运行时诊断 Node.js 应用程序问题的灵活性。

Node.js 10.x 引入 npm 6

Node.js 10.0.0 附带 npm 5.7.x, 但是,预计在 Node.js 10.x 生命周期的早期会更新为 npm 6。第 6 版将侧重于性能、稳定性和安全性,与先前版本的 npm 相比,性能提高 1700%。

以后,如果使用具有已知安全问题的代码,npm Registry 的用户会收到警告通知。npm 将自动检查针对 NSP 数据库的安装请求,并在代码包含漏洞时发出警告通知。

有关 npm 6 的更多信息,请访问:

https://go.npm.me/npm6

注意:Node.js 10 版本可能还会发生其他变动,最新内容都会发布在 Medium 的 Node.js Foundation 博客上,请大家留意。

相关链接

原文链接:

https://medium.com/@nodejs/the-node-js-project-introduces-latest-release-line-node-js-10-x-bf07abfa9076

Node.js 10 文档:

https://nodejs.org/en/blog/release/v10.0.0/

前端之巅

「前端之巅」是 InfoQ 旗下关注大前端技术的垂直社群。紧跟时代潮流,共享一线技术,欢迎关注。

  活动推荐

PWA、Web 框架、UI 与动画、Node... 大前端的下一站在哪里?前端工程师的价值和成长路径是什么?GMTC2018 上,来自 Google、Facebook、BAT 等 60+ 国内外一线前端大牛,将与你面对面探讨大前端领域最新技术趋势和实践,想要升职加薪就快来吧!扫描下方二维码或点击“阅读原文”了解更多大会详情!

目前大会 8 折热销中,团购更优惠,购票咨询:18514549229(同微信)

 
前端之巅 更多文章 前端每周清单:Redux 4.0,用Kotlin重构Java应用 利用深度学习进行前端自动化开发 专访死马:为什么说Egg.js是企业级Node框架 前端每周清单:Node.js 10,npm 6提速17倍,如何设计大型JavaScript项目? 微服务下使用GraphQL构建BFF的实践
猜您喜欢 马云博鳌晚宴"座上宾"曝光,这朋友圈简直太豪华 [一周阅读清单] 开发神器推荐 活动须知 | 8月26日阿里巴巴分享会日程安排 微信红包的分配秘密 构建高性能微服务架构的实践