写点什么

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:008503

评论

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

DevStream 成为 CNCF Sandbox 项目啦!- 锣鼓喧天、鞭炮齐鸣、红旗招展、忘词了。

胡说云原生

开源 cncf DevStream

95后阿里P7晒出工资单:狠补了这些个技术栈,真的香啊

Java全栈架构师

Java 程序员 面试 架构师 Java面试题

flutter系列之:查询设备信息的利器:MediaQuery

程序那些事

flutter 程序那些事 6月月更

【LeetCode】数组中的 k-diff 数对Java题解

Albert

LeetCode 6月月更

leetcode 198. House Robber 打家劫舍(中等)

okokabcd

LeetCode 动态规划 数据结构与算法

揭秘攻防演练中红队需要什么样的人才

穿过生命散发芬芳

6月月更 攻防演练

元宇宙来袭的五个趋势

CECBC

数据库每日一题---第14天:用户推荐人

知心宝贝

数据库 云计算 前端 后端 6月月更

一文带你认识HTML

未见花闻

6月月更

数据质量管理

奔向架构师

数据治理 数据管理 6月月更

如何防止NFT行业被污名化?

CECBC

在线JSON转YAML工具

入门小站

工具

数字人民币预付式消费的监管之道,智能合约能不能解决所有问题?

CECBC

一款可以实现内网脱机分享文档的接口测试软件

Xd

Java 数据库 后端 API 接口测试软件

微服务如何拆分

阿泽🧸

微服务 6月月更

V1签名校验

北洋

Andriod 6月月更

Java的面试技术点

卢卡多多

Java 面试官 6月月更

频频破圈,走向百业:大模型的毕业季

脑极体

阿里云智能编码插件进行了一个上新大动作

阿里云云效

云计算 阿里云 云原生 代码

vue prop传递数据

小恺

6月月更

转转统一权限系统的设计与实现(设计篇)

转转技术团队

权限系统 rbac

在线文本列表空行过滤工具

入门小站

工具

盘点一些好用且小众的 Markdown 编辑器

宇宙之一粟

markdown编辑器 6月月更

研究uni-app的第五天

恒山其若陋兮

6月月更

官宣!Apache Doris 从 Apache 基金会毕业,正式成为 Apache 顶级项目!

SelectDB

Apache 数据库 apache doris

“多元化”通证经济模型:DAO的神经和血液

CECBC

再仿个人主页来看 GetX 和 Provider 之间的 PK

岛上码农

flutter ios 前端 安卓 6月月更

Java Core 「9」J.U.C 同步工具类-1

Samson

学习笔记 Java core 6月月更

linux之我常用的系统重要文件备份命令

入门小站

Linux

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