Node.js v20.12.0 (LTS) 发布,带来这些主要功能!

4f3803977404b60eadbe04e967f6a8e3.png

Node.js 20.12.0(LTS)发布,看其版本号属于一个重大更新了,这些功能是基于 21.7.1 版本。

曾介绍过的主要功能

  • 新增 crypto.hash() 方法

  • 加载和解析环境变量:

    • process.loadEnvFile(path) path 参数可选,默认从 .env 文件加载

    • util.parseEnv(content)

  • sea: 支持嵌入 assets

  • util.styleText(format, text):格式化文本样式并输出

  • vm:支持使用默认加载器来处理动态 import()

上述列的这些功能点,曾在之前有过介绍,这里不再重复了,点击以下图片查看详细介绍。

4bbaa6fe316e262c3125fe6181d4f9d4.png

除上述点之外,还有一些,下面做些介绍。

创建链接增加三个事件

net.createConnection 流程中添加了三个新事件:

  • connectionAttempt: 当建立新连接尝试时触发。在 “Happy Eyeballs” 的情况下,可能会触发多次。

  • connectionAttemptFailed: 当连接尝试失败时触发。在 “Happy Eyeballs” 的情况下,可能会触发多次。

  • connectionAttemptTimeout: 当连接尝试超时时触发。在 “Happy Eyeballs” 的情况下,对于最后一次尝试不会触发此事件。如果未使用 “Happy Eyeballs”,则根本不会触发此事件。

"Happy Eyeballs(快乐眼球)" 是一个网络技术术语,用于描述一种改进的连接建立策略。亦被称作 Fast Fallback(快速回退),是一个由 IETF 发布的算法。支持该算法的程序会尝试同时使用 IPv4 和 IPv6 协议进行连接,若两者皆可连通则首选 IPv6,使得同时支持 IPv4 和 IPv6 的双栈应用程序对用户的响应更加灵敏,从而最大限度地减少 IPv6 连接或设置不完善的用户遇到的常见问题

参考 https://zh.wikipedia.org/wiki/Happy_Eyeballs

此外,修复了之前的一个错误,即在上一个连接尝试失败并且连接已被用户销毁后,可能会启动新的连接尝试。这导致了一个失败的断言。

Paolo Insogna 贡献,Issue#51045 https://github.com/nodejs/node/pull/51045

权限模型变更

Node.js 20.12.0 对实验性权限模型进行了多项修复,并新增了两个新的 semver-minor 提交。我们添加了一个新的标志 --allow-addons,以在使用权限模型时启用插件使用。

$ node --experimental-permission --allow-addons

由 Rafael Gonzaga 贡献,Issue#51183 https://github.com/nodejs/node/pull/51183

现在,通过 --allow-fs-* 标志支持相对路径。因此,通过此版本,可以使用:

$ node --experimental-permission --allow-fs-read=./index.js

只给予应用程序入口点读取权限。

由 Rafael Gonzaga 和 Carlos Espa 贡献,Issue#50758 https://github.com/nodejs/node/pull/50758

支持通过 --build-snapshot-config 标志进行可配置的快照

添加了一个新标志 --build-snapshot-config,通过自定义 JSON 配置文件来配置快照。

$ node --build-snapshot-config=/path/to/myconfig.json

使用此标志时,提供的额外脚本文件将不会被执行,而是被解释为常规命令行参数。

更多信息参考文档 https://nodejs.org/docs/latest/api/cli.html#--build-snapshot-config

由 Joyee Cheung 和 Anna Henningsen 贡献,Issue#50453 https://github.com/nodejs/node/pull/51244

参考 https://nodejs.org/en/blog/release/v20.12.0

- END -

94259f6bd77158b32678ee87d14540f1.gif

首部 Node.js 记录片发布,通过该纪录片深入了解 Node.js 的起源,认识一些最早的贡献者,主要包括 Ryan Dahl(Node.js 的创始人)、Isaac Schlueter(NPM 的创始人)等。

相关推荐

  1. Hardened Ubuntu 24.04 LTS发布

    2024-03-30 05:00:04       12 阅读
  2. Vue 3.4 正式版发布带来多项更新

    2024-03-30 05:00:04       41 阅读
  3. Qt程序发布工具windeployqt.exe所带来的坑

    2024-03-30 05:00:04       10 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-30 05:00:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-30 05:00:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-30 05:00:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-30 05:00:04       20 阅读

热门阅读

  1. MySQL 索引优化(一)

    2024-03-30 05:00:04       17 阅读
  2. 玩具蛇。。

    2024-03-30 05:00:04       22 阅读
  3. git 常用命令(备用)

    2024-03-30 05:00:04       20 阅读
  4. PCL 计算直线之间的距离(3D)

    2024-03-30 05:00:04       19 阅读
  5. SAM中离线使用bert-base-uncased的方法

    2024-03-30 05:00:04       26 阅读
  6. php数组算法(2)字符串转数组后替换指定元素

    2024-03-30 05:00:04       21 阅读
  7. 设计模式之单例模式

    2024-03-30 05:00:04       20 阅读
  8. R语言数据分析基础(三)

    2024-03-30 05:00:04       20 阅读
  9. 双检索单例模式

    2024-03-30 05:00:04       19 阅读
  10. pytorch | pytorch常用的乘法运算

    2024-03-30 05:00:04       20 阅读