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 的创始人)等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/578065.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity类银河恶魔城学习记录11-8 p110 Enemy modifiers源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili EnemyStat.cs using System.Collections; using System.Collections.Gener…

Midjourney绘图欣赏系列(十四)

Midjourney介绍 Midjourney 是生成式人工智能的一个很好的例子,它根据文本提示创建图像。它与 Dall-E 和 Stable Diffusion 一起成为最流行的 AI 艺术创作工具之一。与竞争对手不同,Midjourney 是自筹资金且闭源的,因此确切了解其幕后内容尚不…

webpack项目打包console git分支、打包时间等信息 exec

相关链接 MDN toLocaleString child_process Node.js strftime 格式 代码 buildinfo.js const { execSync, exec } require("child_process"); // exec: 在 Windows 执行 bat 和 cmd 脚本// execSync 同步 // exec 异步// exec 使用方法 // exec(git show -s,…

LLMs之Mistral:Mistral 7B v0.2的简介、安装和使用方法、案例应用之详细攻略

LLMs之Mistral:Mistral 7B v0.2的简介、安装和使用方法、案例应用之详细攻略 导读:Mistral AI首个7B模型发布于2023年9月,在基准测试中超越Llama 2 13B,一下子声名大振。Mistral 7B v0.2对应的指令调优版本Mistral-7B-Instruct-v0…

YOLOv9改进策略 :block优化 | 无需TokenMixer也能达成SOTA性能的极简ViT架构 | CVPR2023 RIFormer

💡💡💡本文改进内容: token mixer被验证能够大幅度提升性能,但典型的token mixer为自注意力机制,推理耗时长,计算代价大,而RIFormers是无需TokenMixer也能达成SOTA性能的极简ViT架构…

Verilog语法之always语句学习

always语法是Verilog_HDL中最常用的一种语法。 always过程语句和语句块组成的,语法格式如下所示。 always(敏感信号1 or 敏感信号2.....) always实现组合逻辑和时序逻辑。用always实现组合逻辑要将所有的敏感信号加入敏感列表中;用always实现时序逻辑时…

计算机毕业设计Python+Spark知识图谱高考志愿推荐系统 高考数据分析 高考可视化 高考大数据 大数据毕业设计 机器学习 深度学习 人工智能

学院(全称): 专业(全称): 姓名 学号 年级 班级 设计(论文) 题目 基于Spark的高考志愿推荐系统设计与实现 指导教师姓名 职称 拟…

SQLite中的隔离(八)

返回:SQLite—系列文章目录 上一篇:SQLite版本3中的文件锁定和并发(七) 下一篇:SQLite—系列文章目录 数据库的“isolation”属性确定何时对 一个操作的数据库对其他并发操作可见。 数据库连接之间的隔离 如果使用两个不…

Android R 广播注册与发送流程分析

静态广播注册时序图 动态广播注册时序图 发送广播时序图 前言 广播接收器可以分为动态和静态,静态广播接收器就是在 AndroidManifest.xml 中注册的,而动态的广播接收器是在代码中通过 Context#registerReceiver() 注册的。 这里先从静态广播的流程开始…

Jenkins详细安装配置部署

目录 简介一、安装jdk二、安装jenkins这里如果熟悉 Jenkins ,可以【选择插件来安装】,如果不熟悉,还是按照推荐来吧。注意: 三、插件安装如果上面插件安装,选择的不是【安装推荐的插件】,而是【选择插件来安…

变分信息瓶颈

变分信息瓶颈和互信息的定义 1 变分信息瓶颈 定义:变分信息瓶颈(Variational Information Bottleneck)是一种用于学习数据表示的方法,它旨在通过最小化输入和表示之间的互信息来实现数据的压缩和表示学习。这种方法通常用于无监…

时序预测 | Matlab实现CPO-BP冠豪猪算法优化BP神经网络时间序列预测

时序预测 | Matlab实现CPO-BP冠豪猪算法优化BP神经网络时间序列预测 目录 时序预测 | Matlab实现CPO-BP冠豪猪算法优化BP神经网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现CPO-BP冠豪猪算法优化BP神经网络时间序列预测(完整源码…