皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Node 22.1.0 发布

Node 22.1.0 发布

模块:实现 NODE_COMPILE_CACHE 以自动缓存磁盘上的代码
此补丁实现了自动磁盘代码缓存,可通过环境变量 NODE_COMPILE_CACHE=/path/to/cache/dir 启用。

设置后,Node.js 编译 CommonJS 或 ECMAScript 模块时,将使用指定目录中的磁盘 V8 代码缓存,以加快编译速度。这可能会降低模块图的首次加载速度,但如果模块内容不变,同一模块图的后续加载速度可能会显著提高。在本地,加载 test/fixtures/snapshot/typescript.js 的速度从 ~130ms 降至 ~80ms。

要清理生成的代码缓存,只需删除该目录即可。下次为 NODE_COMPILE_CACHE 使用相同目录时,它将被重新创建。

不同版本的 Node.js 可能无法使用某一版本的 Node.js 生成的编译缓存。如果不同版本的 Node.js 生成的缓存被用于持久化缓存的同一目录,那么这些缓存将被分开存储,因此它们可以共存。

注意事项:目前,在与 V8 JavaScript 代码覆盖一起使用时,V8 收集的覆盖可能会降低从代码缓存反序列化的函数的精确度。建议在运行测试以生成精确覆盖时关闭此功能。

由 Joyee Cheung 在 #52535 中提供。

其他值得注意的变更
[44ee04cf9f] – 缓冲:提高 base64 和 base64url 性能(Yagiz Nizipli) #52428
[3c37ce5710] – (SEMVER-MINOR) dns:添加顺序选项并支持 ipv6first (Paolo Insogna) #52492
[3026401be1] – events,doc:将自定义事件标记为稳定(Daeyeon Jeong) #52618
[64428dc1c9] – (SEMVER-MINOR) lib, url:为路径解析添加 windows 选项 (Aviv Keller) #52509
[d79ae74f71] – (SEMVER-MINOR) net:为自动选择家族尝试超时添加 CLI 选项 (Paolo Insogna) #52474
[43fa6a1a45] – (SEMVER-MINOR) src:为快照 FromBlob 添加 string_view 重载(Anna Henningsen) #52595
[c6fe433d42] – src、permission:在异步 API 上抛出异步错误(Rafael Gonzaga) #52730
[e247a61d15] – (SEMVER-MINOR) test_runner:添加 –test-skip-pattern cli 选项 (Aviv Keller) #52529
[9b18df9dcb] – (SEMVER-MINOR) url:为更安全的 URL 解析实现解析方法 (Ali Hassan) #52280

更多 Node.js — Node v22.1.0 (Current) (nodejs.org)