写点什么

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

评论

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

白话机器学习(2):产品经理都在用的线性回归模型

杜吉普

机器学习 线性回归

数据缓存历险记(四)--LRU大师兄的Java实现

卢卡多多

redis LRU 8月日更

《社会心理学》--从众和服从

箭上有毒

8月日更

数据产品经理是做什么的?

蒋川

Linux之ping命令

入门小站

Linux

synchronized优化手段:锁膨胀、锁消除、锁粗化和自适应自旋锁...

王磊

Java 并发 synchronized 8月日更

白话机器学习(8):世界上本没有随机森林,决策树多了,也就变成了森林

杜吉普

机器学习

SpringBoot 数据库操作(集成MyBatis)

xcbeyond

mybatis SpringCloud 8月日更

架构实战营 - 毕业总结

༺NPE༻

白话机器学习(5):更高端的线性回归模型-Ridge Regression

杜吉普

机器学习

如何加强自己对Java的编码规范

Bob

Java 8月日更

前端之数据结构(六)图

Augus

数据结构 8月日更

杜吉普:指标体系多重奏——指标体系建立思路

杜吉普

数据分析 指标体系 数据运营

几十种编程语言说Hello World

入门小站

工具

杜吉普:数字化运营广告营销之道

杜吉普

机器学习 互联网广告 营销数字化

[架构实战营一期] 模块四作业

trymorewang

架构实战营

Druid 加载 Kafka 流数据 Supervisor 配置

HoneyMoose

Node.js 实现存储服务的上传功能【包含前后端代码】

liuzhen007

8月日更

RocketMQ之Store模块

邱学喆

commitlog consumequeue index ha flush

毕业设计:设计电商秒杀系统

贯通

#架构实战营

Android开发:获取手机当前连接的WiFi名称

三掌柜

8月日更 8月

白话机器学习(7):人类最好理解的预测模型-决策树Decision Tree

杜吉普

白话机器学习(9):用户精细化管理背后的秘密:K-means聚类模型

杜吉普

机器学习

Spring梳理

十二万伏特皮卡丘

不装了、摊牌了,我们要搞事情

不脱发的程序猿

程序员 技术 程序人生

【Vue2.x 源码学习】第三十篇 - diff算法-比对优化(上)

Brave

源码 vue2 8月日更

白话机器学习(4):模型的裁判-交叉验证Cross-Validation

杜吉普

机器学习 杜吉普

白话机器学习(6):用Lasso Regression踢出浑水摸鱼的变量

杜吉普

机器学习

白话机器学习:什么机器学习模型?

杜吉普

机器学习 数据分析 数字化转型

构建Apache Flink 开发环境(四)

Databri_AI

flink IDEA 开发环境

白话机器学习(3):理解机器学习中的Bias与Variance

杜吉普

机器学习

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