介绍

你好,命名为 Python。
对个人发展的热情又回来了一点,我在做大量研究的同时也在选择技术。
也有Bun和Deno,不过转一转我担心下一个 LTS Node.js (18.x)感觉要再深入一点,把看官方文档时担心的部分捡起来。

当 Node.js 18 变为 Active LTS2022-10-25它来自,所以它实际上非常接近。

要阅读的文件

Node.js v18 发布消息

关于发布博客中的 Node.js v18.x.y

捡起

全局获取 API 成为标准

const res = await fetch('https://nodejs.org/api/documentation.json');
if (res.ok) {
  const data = await res.json();
  console.log(data);
}
  • 我经常看到 Bun 和 Deno 强调这一点的场景,但最后是 Node.js
  • 文迪奇正在开发一个名为的核心包
    • 好像被命名为 1.1 -> 11 -> 十一 -> Undici(意大利语),因为它是一个 HTTP/1.1 客户端
      • 似乎被陌生人所覆盖。我不知道Node.js 18の気になる点を挙げてみる
  • 实验性

Blob、BroadcastChannel 全局

  • 离开实验
  • 我偶尔会看到 Blob,但我很感激不需要额外的软件包。

添加测试运行器

import test from 'node:test';

test('top level test', async (t) => {
  await t.test('subtest 1', (t) => {
    assert.strictEqual(1, 1);
  });

  await t.test('subtest 2', (t) => {
    assert.strictEqual(2, 2);
  });
});

工具链和编译器升级

  • Node.js 提供了各种预构建的二进制文件,但随着每次重大更新,二进制文件的运行环境都会重新评估和提升。
  • 似乎需要 macOS 10.15 或更高版本
  • 我只是粗略看了一遍,但是有描述说早期的32位Windows不工作,他们想在V8更新的同时重新打印32位二进制文​​件。

题外话

  • 有致谢的描述,但是有各种公司名称,所以我会列出它们
    • 数字海洋
    • 机架空间
    • Cloudflare
    • Equinix
    • IBM
    • 英特尔
    • 乔伊恩特
    • 麦克体育场
    • 微软
    • 俄勒冈州立大学开源实验室
      • 俄勒冈州立大学...!
      • 开源实验室很高兴拥有
        • https://osuosl.org/
        • (我不知道,但 JAIST 可能也有...?)
        • 似乎他们有一个支持AARCH64架构的开发、测试和托管的服务,并且有项目名称,例如:
  • 感谢您提供基础架构

更新到 V8 10.1

  • 与 17.9.0 相比,似乎有一些新功能,例如:
    • 实际上是在 V8 9.9 中添加的
    • findLast(), findLastIndex() 用于面向数组的方法
      • 它看起来像 find()findIndex() 以相反的顺序排列
    • Intl.Locale 提供诸如ja-JP 之类的语言环境的API 似乎还有7 个属性(很有趣)
      • 日历
      • 排序规则
      • 小时周期
      • 编号系统
      • 时区
      • 文本信息
        • 关于要读取的字符的信息
        • ltr:从左到右
        • rtl:从右到左
      • 周信息
        • 有关一周开始时间和周末时间的信息
    • 添加Intl.supportedValuesOf(code)
      • 列出以上7个属性支持的值
        • 例如Intl.supportedValuesOf('calendar')
          • ['buddhist', 'chinese', 'coptic', 'dangi', ...]
    • 类变量和类私有方法的性能改进
      • 初始化速度现在与非私有相当
        • 到目前为止有所不同

嵌入在 iOS 中的 Node.js

  • 说实话,我怀疑自己的眼睛,但它旨在支持在 iOS 上原生使用 Node.js API 的运动。
    • Node.js的C++实现对应libnode,但是支持iOS的MR被合并为构建目标
  • 另外,腾讯仓库是在MR中链接的,但是什么?用 TypeScript 编写原生游戏它是
    • 这是为了实现 TypeScript 类型检查系统的高可维护性和 UE4 和 Unity 的强大功能。
    • 顺便说一句,腾讯英雄联盟或者勇敢的2011 年收购 Riot Games 是一家伟大的公司,开发和运营
  • 我很高兴看到 TypeScript 被用于网络以外的领域

其他文章

Node.js 核心合作者的文章。 Undici 进行了更详细的探讨。

综上所述

在我阅读它之前,我对更好的性能寄予厚望,但看起来他们更像是在努力遵守 Web 标准。
或许如果你期望性能,你可以通过跟踪 V8 版本之间的差异来了解细节。
追求这种信息让我想做出贡献。我会全身心投入。


原创声明:本文系作者授权爱码网发表,未经许可,不得转载;

原文地址:https://www.likecs.com/show-308628736.html

相关文章: