Node.js 6.0 正式发布了,这将是当前最新的版本。该版本包括性能的提升、更全面的测试、更完善的文档,安全性更强并且支持更广泛的 ES2015 语法。
Node.js 6.0 是在 5.0 版本(六个月前发布)之后发布的,但实际上它是 Node.js 4.x 的替代,从今年十月份开始它将成为下一个长期支持(LTS)版本。据 IBM Node.js 技术负责人 James Snell 介绍,Node.js 6.0 (Current) 包括“部分性能的显著改善、提高了可靠性、可用性、安全性”。如果是生产环境需要保证稳定,Snell 建议十月份以前仍使用 Node.js 4.x 版本。Node.js v4.x 的长期支持会持续到 2017 年 4 月,之后进入维护更新阶段。想要了解更多 Node 基金会标记版本的细节,我们建议阅读 Node.js 长期支持工作组的说明。 Node.js 5.0 是为喜欢尝试的勇敢者提供的过渡版本。
Node.js 6 的新功能或改进中,我们主要关注:
- 据 Snell 介绍,模块加载比 Node.js 4.x 快了近四倍。这意味着应用程序的启动会非常快。
- 更全面的测试覆盖率
- 更完善的文档
- Buffer 和 File System API 的易用性得到提高
Node.js 6.0 一个重大改进是使用 V8 5.0,支持 93% 的 ES2015 语法。根据 Kangax 兼容性表,每日构建甚至支持 96% 的 ES2015 语法,包括解构 (destructuring)、剩余参数(rest parameters)、类(class)以及 super 关键字。不支持的有直接或相互递归、迭代器关闭等其它一些语法。其中一些已经准备好了,但需要 harmony flag 才能使用。
在安全性方面的改进,Node.js 基金会在其公告中提到:
新的 Buffer API 使用新的构造器创建 Buffer 实例,并引入了 zero-fill-buffers 命令行标志,这样会减少错误的风险并且避免漏洞泄露到应用程序中。使用新的命令行标志,开发人员可以继续安全地使用旧的模块,即使这些模块没有更新,没有使用新的构造器 API。另外,V8 改进了 Math.random() 的实现,使之更安全——这个特性也添加到了 Node.js v6。
另一个值得一提的改变是不再支持 Windows XP 和 Vista。另外,由于 Node.js 6 使用了 V8 5,所有的插件需要重新编译。完整的变化清单,我们建议阅读 Snell 的帖子。
除了 Node 基金会在其公告中提到的 Node.js“超过 350 万用户和 100%的年增长速度”, npmjs 公布了一些 NPM 统计数据:211000NPM 注册用户中 73000 用户至少发布了一个包,每月有超过 300 万唯一的 IPs 访问 NPM 注册表,大约有 400 万用户,三月份有超过 8 千万的 NPM 会话,每星期有超过 10 亿的包下载量。这些数字显示出 JavaScript,Node.js 和 NPM 构建的生态系统正在蓬勃发展。
查看英文原文: Node.js 6.0 Supports 93% of ES2015
感谢张龙对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论