50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

Node.js 2023 版本发布:加速 JavaScript 开发

作者:Agazi Mekonnen

  • 2023-09-29
    北京
  • 本文字数:1062 字

    阅读完需:约 3 分钟

大小:580.75K时长:03:18
Node.js 2023 版本发布:加速 JavaScript 开发

Node.js 团队近期发布了 20.6.0 版本,对环境变量配置、模块解析、模块自定义进行提升,同样还有对 C++ 垃圾回收的实验性支持。

 

本次更新中为开发人员新增了对 .env文件的内置支持功能.这类文件采用 INI 文件格式,提供对环境变量的简单配置方法。开发者可通过命令行指令 node --env-file=config.env index.js,轻松执行应用的预设初始化。这项更新简化了环境变量的管理。

 

另一项值得关注的变化涉及未标记的 import.meta.resolve(specifier) 函数。这项调整在使 Node.js 与其他服务器端运行时及浏览器保持一致方面,发挥了至关重要的作用。这一函数为模块解析提供了绝对 URL 字符串,增强了跨平台的兼容性,简化了不同环境下的模块管理。

 

Node.js 20.6.0 也在 node:module命名空间中引入了新 API register。该 API 简化了模块自定义钩子,允许开发人员指定钩子的导出文件,促进主应用程序线程与钩子线程之间的通信渠道。鼓励开发人员能过渡到使用 --importregister,从而更为高效地完成钩子的注册。

 

Node.js 20.6.0 还增强了模块自定义钩子加载,允许其管理 ES 模块和 CommonJS 源。这部分新增加的灵活性简化了加载和自定义 Node.js 模块的过程,消除了对废弃 API 的依赖。

 

Node.js 的 C++ 附加组件目前已增加对 C++ 垃圾回收的实验性支持,增强了对 V8 内存管理的兼容性。这项支持保证了 Node.js 可以用 v8::CppHeap启动,,允许使用 V8 的 <cppgc/*> 头进行内存分配。虽然根据子版本和补丁更新不同,这项支持的稳定性可能会有所不同,但 C++ 的垃圾回收器在 Chromium 中运行记录良好,使其成为开发 C++ 附加组件的理想选择。

 

发布于2023年4月的 Node.js 20 带来了诸多重大变化,其中包括对 ES2023 的采用、对 WebAssembly 系统接口(WASI)的实验性支持,以及基于性能和稳定性的考量,将 V8 JavaScript 引擎升至 11.3 版本。这次版本通过引入实验性的权限模型增强了安全性,配置稳定的测试运行期,并引入单一可执行应用的功能,从而确保了 Node.js 应用在未安装 Node.js 的系统中分布数量。这些进展再加上对新操作系统的支持、对 TypeScript 兼容性的优化,以及新开发者工具和 API 的引入,都是对 Node.js 的巩固。

 

Node.js 20 目前处于测试阶段,并将于2023年10月24日过渡到长期支持(LTS)。这代表着至少在未来三年内,该版本将得到包括安全更新和错误修复在内的持续支持。

 

原文链接:

https://www.infoq.com/news/2023/09/node-js-2023-edition/

 

相关阅读:

Node.js 未来发展趋势

Node 之父着急宣布:Deno 将迎来重大变革,更好地兼容

Node 版本控制

Node.js 20 正式发布

2023-09-29 08:008414

评论

发布
暂无评论
发现更多内容

业务架构是什么?

周金根

BIZBOK 业务架构 IT帮 周金根

Python处理邮件和机器人的实用姿势

程一初

Python 自动化 办公

Truncate用法详解

Simon

MySQL

Python处理图像文件的实用姿势

程一初

Python 自动化 办公

MySQL从入门到精通

书旅

MySQL 索引

【程序员自救指南】中关村保洁大叔的一句话竟然帮我转正了

华为云开发者联盟

服务器 数字化 华为云 企业上云 云服务器

并发神器CSP的前世今生

soolaugust

并发编程 并发 Go 语言

从《三体》到“中美科技战”,3分钟理解“网络”D丝为什么要迎娶“算力”白富美

华为云开发者联盟

数据 网络 芯片 算力 三体

MacOS 环境下 Python 访问 MySQL

李绍俊

Axure导出为PDF

波菠菜

解读 Reference

浮白

ThreadLocal Reference ReferenceQueue Finalizer WeakHashMap

LeetCode1160---拼写单词---Easy

书旅

LeetCode

如何与面试官更好的沟通

escray

学习 面试

Python处理Excel文件的实用姿势

程一初

Python 自动化 办公

Python处理视频文件的实用姿势

程一初

Python 自动化 办公

JavaScript 测试系列实战(一):使用 Jest 和 Enzyme 测试 React 组件

图雀社区

单元测试 自动化测试 Jest

影响音视频延迟的关键因素(三): 传输、渲染

ZEGO即构

buffer API RTC sdk

带你全面认识 Linux

简爱W

数据库设计

Jayli

数据库

Python处理音频文件的实用姿势

程一初

Python 自动化 办公

前端科普系列(4):Babel —— 把 ES6 送上天的通天塔

vivo互联网技术

Java 大前端 ES6

Python处理PDF的实用姿势

程一初

Python 自动化 办公

Python处理PPT文件的实用姿势

程一初

Python 自动化 办公

当地铁站都比你更努力

escray

学习 面试

前端科普系列(2):Node.js 换个角度看世界

vivo互联网技术

node.js 大前端

前端科普系列(3):CommonJS 不是前端却革命了前端

vivo互联网技术

Java 大前端 脚本

Python处理Word文件的实用姿势

程一初

Python 自动化 办公

宿舍晚上温度高,那是你没听“鬼故事”

华为云开发者联盟

人工智能 AI 华为云 modelarts

代理模式详解

大头星

Python1024办公自动化系列

程一初

Python 自动化 办公

LeetCode680-验证回文字符串 Ⅱ-Easy

书旅

LeetCode

Node.js 2023 版本发布:加速 JavaScript 开发_工程化_InfoQ精选文章