10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

评论

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

建木持续集成平台v2.3.1发布

Jianmu

开源 DevOps 自动化 持续集成 gitops

Java中容易混淆的基础知识

工程师日月

java 5月月更

Mysql的事务操作问题

恒山其若陋兮

MySQL 5月月更

疫情时代如何提高办公效率?

小炮

Redis命令HSCAN踩坑指南

Qunar技术沙龙

dba

去哪儿网MySQL日志分析实践,80%数据丢失都给你救回来!

Qunar技术沙龙

dba

TiKV 缩容不掉如何解决?

TiDB 社区干货传送门

Hadoop hdfs 的shell操作

Emperor_LawD

hadoop Shell 5月月更

一个小操作,SQL查询速度翻了1000倍。

TiDB 社区干货传送门

信息系统的建设周期

奔向架构师

信息系统 5月月更

观测云产品更新|优化观测云商业版升级流程;新增进程、日志、链路详情页关联网络;场景模块优化等

观测云

运维 可观测性 可观测

基调听云研发总监杨金全出席CSDN可观测性与APM峰会

基调听云

云原生 APM 可观测性 基调听云

华创视讯加入龙蜥社区,携手共建开源新生态

OpenAnolis小助手

开源 龙蜥社区 CLA 华创视讯 龙腾计划

渗透测试工具一一Nmap(从初级到高级)

网络安全学海

网络安全 渗透测试 WEB安全 漏洞挖掘 nmap

遇到bug怎么分析,这篇文章值得一看

伤心的辣条

Python 程序人生 软件测试 自动化测试 测试开发

【愚公系列】2022年05月 二十三种设计模式(七)-桥接模式(Bridge Pattern)

愚公搬代码

5月月更

区块链系统开发,交易所交易平台搭建

Geek_56201b

技术干货| MongoDB如何查询Null或不存在的字段?

MongoDB中文社区

mongodb

从活动能力层建设看业务架构

Qunar技术沙龙

业务架构

在基础语法中Java与c++有哪些不同?(对于学过c++转Java必看)

工程师日月

c++ java 5月月更

Flutter 组件渲染模式详解

岛上码农

flutter ios 安卓开发 跨平台应用 5月月更

LabVIEW仪器控制:智能示波器(普源DS1000E)

不脱发的程序猿

LabVIEW 串口通信 VISA LabVIEW示波器软件

gRPC服务开发和接口测试初探【Go】

FunTester

恒源云 (Gpushare)_Restormer:用于高分辨率图像重建的高效Transformer

恒源云

人工智能 深度学习 Transformer

飞桨云上沙龙——智能制造专场

百度大脑

模块一

Geek_28cf33

行业案例| MongoDB在腾讯零售优码中的应用

MongoDB中文社区

mongodb

解决方案| 阿里云数据库MongoDB版助力餐道显著提升运维效率,打造卓越餐饮/零售服务

MongoDB中文社区

mongodb

企评家|华润三九医药股份有限公司成长性评价报告摘要

企评家

塔米狗企评家 企业评价 企业成长性分析 企评家 企业投资价值评价

从手工测试到自动化测试进阶,需要学什么?结合自身分享我10+年的测试经验!

伤心的辣条

Python 程序人生 软件测试 自动化测试 接口测试

虎符交易所Hoo研究院|币海寻珠 2022年4月下半月区块链投融事件TOP20

区块链前沿News

虎符研究院

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