内容提要
Node.js 21.6.0版本新增三个事件,修复了连接尝试的错误。引入了--allow-addons标志以支持插件,并支持相对路径的--allow-fs-*标志。同时新增--build-snapshot-config标志,以通过自定义JSON配置文件配置快照。
延伸解读
网络连接事件:更细粒度的连接尝试监控
Node.js 21.6.0 在 net.createConnection 流程中新增了 connectionAttempt、connectionAttemptFailed 和 connectionAttemptTimeout 三个事件。这些事件让开发者能够更精确地跟踪连接尝试的各个阶段,例如开始尝试、失败和超时。同时,修复了连接失败后用户销毁连接仍可能启动新尝试的 bug,避免了断言失败。对于需要处理复杂网络状况的应用,这提供了更好的可观测性和稳定性。
权限模型增强:支持插件与相对路径
实验性权限模型在此版本中得到多项改进。新增的 --allow-addons 标志允许在启用权限模型时使用原生插件,解决了之前插件无法加载的问题。此外,--allow-fs-* 标志现在支持相对路径,例如 --allow-fs-read=./index.js 可以仅授予应用入口点的读取权限。这些变化让权限模型更实用,但需注意其仍处于实验阶段,生产环境应谨慎评估。
快照配置新方式:通过 JSON 文件定制
新增的 --build-snapshot-config 标志允许通过自定义 JSON 配置文件来配置快照。使用时,命令行上提供的额外脚本文件将不会被执行,而是被解释为常规命令行参数。这为快照构建提供了更灵活的配置方式,适合需要定制启动快照的复杂应用。开发者应留意这一行为变化,避免误将脚本文件作为参数传递。
Q&A
Node.js 21.6.0版本新增了哪些事件?
新增了connectionAttempt、connectionAttemptFailed和connectionAttemptTimeout三个事件。
Node.js 21.6.0修复了什么错误?
修复了一个错误,之前在连接失败后用户销毁连接后可能会启动新的连接尝试。
如何使用--allow-addons标志?
可以通过命令$ node --experimental-permission --allow-addons来启用插件使用。
--allow-fs-*标志有什么新支持?
现在支持通过--allow-fs-*标志使用相对路径,允许对应用程序入口点的读取访问。
如何配置快照?
可以使用--build-snapshot-config标志,通过自定义JSON配置文件配置快照。
Node.js 21.6.0的主要更新内容是什么?
主要更新包括新增三个事件、修复连接错误、支持插件和相对路径的读取访问。