Node.js 21发布,升级V8引擎,带来稳定的WebSteams模块和Test Runner

作者 | Agazi Mekonnen 译者 | 明知山 策划 | 丁晓昀

Node.js 团队最近 发布了 Node.js 21。这个版本引入了一些变化,包括更新 V8 JavaScript 引擎、稳定的 fetch 和 WebStreams 模块、一个用于改变模块默认设置的实验性标志、内置的 WebSocket 客户端以及测试运行器的增强。值得注意的是,作为一个奇数版本,Node.js 21 将不会有 LTS(长期支持)。

fetch 和 WebStreams 模块已经在 Node.js 21 中 升级为稳定版本。这一升级影响的模块包括 WebStreams、FormData、Headers、Request、Response 和 fetch。

此外,这个版本包含了一个实验性的 WebSocket 客户端,可以通过 --experimental-websocket 标志来启用,与浏览器兼容的标准一致,简化了同时在前端和后端运行的应用程序的 JavaScript 开发工作。

Node.js 21 包含了 V8 引擎的更新,版本为 11.8,带来了更好的性能和新的语言特性。值得注意的特性包括数组分组、ArrayBuffer.prototype.transfer 和 WebAssembly 扩展常量表达式。这一升级有助于减少对外部库的依赖。

Node.js 的测试运行器得到了增强,支持使用 --test 参数指定 glob 表达式,可以进行更高效和灵活的测试,更容易使用强大的 glob 模式在多个目录中运行测试。

新版本引入了一个新的标志,--experimental-default-type。这个标志允许开发者自定义默认的模块系统,可以指定输入文件应该解释为 ES 模块还是 CommonJS。

Node.js 21 包含了许多性能优化和增强,包括 URL、fetch、streams、node:fs 和 HTTP。这些改进旨在提高整体运行时性能。

在 Node.js 21 中集成的全局 navigator 对象增强了 Web 互操作性,开发者可以通过 navigator.hardwareConcurrency 来访问硬件并发信息。

Node.js 技术指导委员会(TSC)成员 Rafael Gonzaga 鼓励用户对 Node.js 21 进行探索,他说:

"如果你有兴趣探索有趣的新功能,那么 Node.js 21 是测试和了解即将到来的功能的绝佳方式。我们的发布计划特别涵盖了这一点。如果你已经在积极部署或者有这方面的计划,那么 Node.js 20 和 18 LTS 就很适合你。" Node.js 21 作为当前版本,这一状态将持续六个月,直到 2024 年 4 月。Node.js 16(LTS)已经进入寿命终结(EOL),开发者需要升级到 Node.js 18(LTS)或 Node.js 20(LTS),以获得持续支持和最新功能。

完整的变更列表可以在 GitHub 的 Node.js 21 拉取请求中找到。

原文链接:

https://www.infoq.com/news/2023/10/node-js-21-release-updates/

声明:本文为 InfoQ 翻译,未经许可禁止转载。

今日好文推荐程序员篡改 ETC 余额,一年私吞 260 余万元;语雀公布故障原因及赔偿方案;各家财报发布,创始人们:就很难受|Q资讯
可部署手机、适配国产芯……全新升级后的 ChatGLM3 真的有点东西:智谱 AI 选择继续开源!“这是一件关于云服务的大事儿!”英特尔 4400 万美元投资基础设施初创公司,硬刚公有云
头发丝 1/60 的精度,中国每 10 辆新能源汽车就有 6 辆用这家齿轮

相关推荐

  • 技术与实体加速融合,企业转型的新挑战和新机遇在哪?
  • 11 月 19-20 日,一场真正的金融科技峰会来了 | FCon
  • 是时候基于云重新设计 Kafka 了!AutoMQ 如何实现 Kafka 十倍的降本增效
  • 疯狂马斯克的“极限”计划居然成功了?!“下云”后成本降低 60%,部分功能代码精简 90%,30 天急速迁移服务器
  • 大模型工程与应用
  • 2023“数智杯”创新应用大赛,大数据人才竞技,引领产业创新
  • 抖音云原生向量数据库从“非主流”到“新常态”的演变
  • 写了个爬虫,赚了4w9!
  • 一张老截图,让我老泪纵横。。。
  • 高精地图 为什么从“小甜甜”变成了“牛夫人”?
  • 【深度学习】收藏 | 医学图像开源数据集汇总
  • 明目张胆!高校教授收到陌生邮件“我评审了你的论文,给我挂上名!”
  • 2024年,三维重建方向还能发顶会吗?(赠CV系列课程+书籍)
  • MySQL innoDB 间隙锁产生的死锁问题
  • RecSys'23 谷歌 | 召回负反馈建模
  • 效率提升 100%,一款效果炸裂的白板神器!
  • 被忽略的缓存 -bfcache
  • zSet实现排行榜功能
  • 前OpenAI科学家:走一步看一步,未定目标也有路?!
  • 99%的时间里使用的14个git命令