IT资讯 Node.js 正式发布 18.13.0 带来了这些特性

tamir · 2023-01-07 09:30:06 · 热度: 21

Node.js 已正式发布 18.13.0 “Hydrogen”  LTS 版本,此版本带来一些新功能:

重要变化

添加对外部共享 js 内置函数的支持 #44376

默认情况下,构建 Node.js 会将所有依赖项都捆绑到 Node.js 二进制文件本身。但一些 Node.js 发行版更喜欢在外部管理依赖项,因此现有的构建选项允许外部化与本机代码的依赖关系。

此提交添加了额外的选项,可以外部化与 JavaScript 代码(包括 WASM)的依赖关系。此添加不会影响 Node.js 项目提供的二进制文件,只是允许其他发行版在需要时外部化额外的依赖项。

File#45139

File 类是 FileAPI 的一部分,可以在任何 Blob 可以使用的地方使用,例如在 URL.createObjectURLFormData 中。它包含 Blob 所没有的两个属性:lastModified,上次修改文件的时间,以 ms 为单位;以及name,文件名。

支持 Node.js 测试运行器上的函数模拟 #45326

node:test 模块支持在测试期间进行模拟(通过顶级 mock 对象)

test('spies on an object method', (t) => {
  const number = {
    value: 5,
    add(a) {
      return this.value + a;
    },
  };
  t.mock.method(number, 'add');

  assert.strictEqual(number.add(3), 8);
  assert.strictEqual(number.add.mock.calls.length, 1);
});

其他变化

  • build
    • 默认情况下禁用 v8 快照压缩 #45716
  • crypto
  • dep
    • 将 ICU 更新到 72.1 #45068
  • doc
    • 为 headers/trailers 设置器添加仅文档弃用  #45697
    • 将 Rafael 添加到 tsc  #45691
    • url.parse 中弃用无效端口 #45576
    • 弃用 url.parse() #44919
  • lib
    • drop fetch 实验警告 #45287
  • net
    • (SEMVER-MINOR) 添加 autoSelectFamily 和 autoSelectFamilyAttemptTimeout 选项 (Paolo Insogna) #44731
  • src
    • (SEMVER-MINOR) 添加 uvwasi 版本 (Jithil P Ponnan) #45639
    • (SEMVER-MINOR) 添加初始影子领域支持 (Chengzhong Wu) #42869
  • test_runner
    • (SEMVER-MINOR) 添加 t.after() 钩子 (Colin Ihrig) #45792
    • (SEMVER-MINOR)不要为 runHook() 使用符号(Colin Ihrig)#45792
  • tls
    • (SEMVER-MINOR)将“ca”属性添加到证书对象(Ben Noordhuis)#44935
    • 删除 trustcor 根 ca 证书 (Ben Noordhuis) #45776
  • tools
    • 更新 certdata.txt  #45490
  • util
    • 为 utf8 编码添加快速路径 #45412
    • 提高文本解码器解码性能  #45294
    • (SEMVER-MINOR) 添加 MIME 实用程序  #21128

更新公告:https://github.com/nodejs/node/releases/tag/v18.13.0

为您推荐与 nodejs 相关的帖子:

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册