头图

美味值:🌟🌟🌟🌟🌟

口味:胡萝卜果蔬汁

本期摘要

  • TypeScript 5.0 RC
  • 2 月登陆 Web 平台的新功能
  • Babel v7.21.0
  • JavaScript 中 Signals 的演变
  • Node.js Toolbox
  • 前端构建工具进化历程
  • 通过 React Router V6 源码,掌握前端路由

大家好,我是童欧巴。欢迎来到前端食堂技术周刊,我们先来看下上周的技术资讯。

技术资讯

1. TypeScript 5.0 RC

自 TypeScript 5.0 Beta 后的变更:

  • 允许装饰器放在 exportexport default 之前或之后。(别问为什么,问就是 TC39 内部讨论和共识的结果)
  • 新的捆绑器模块解析选项现在只能在 —-moduleesnext 时使用
  • 微调了速度基准和包尺寸的具体数值

2. 2 月登陆 Web 平台的新功能

主要更新如下:

3. Babel v7.21.0

主要更新如下:

  • 支持 Inline RegExp modifiers、最新的 Decorators 提案
  • TS 5.0

下面我们来看技术资料。

技术资料

1. JavaScript 中 Signals 的演变

如同太阳底下无新鲜事,Signals 的概念也不是新事物,最早可以追溯到 1969 年。回首 JavaScript 框架的初期,有三大典型框架几乎同一时期推出,分别选择了不同的技术路线:

  • Angular 的脏检查
  • Backbone 的模型驱动重渲染
  • Knockout 的细粒度更新

Knockout 的细粒度更新正是建立在 Signals 的基础上,而 Signals 这一术语的来源是 2013 年诞生的 S.js 库。S.js 还引入了反应式所有权的概念,使 Signals 更易于管理,并建立了 Provider/Consumer 的上下文机制。

Vue 也为后续的发展做出了巨大的贡献,将 push/pull 机制向前推进了一步,添加了调度(Scheduling)能力。在 2019 年,Svelte 3 用编译器实现了反应性(reactivity),并抹平了人体工程学方面的缺陷。

反应性带来的可追溯性的潜力是很大的,因为 Signals 的依赖关系图是明确的,在编译时拿到这些信息,进而控制 JavaScript 的最终生成,提升代码加载方面的自由性,这正是 Qwik 和 Marko 的可恢复性(resumability)的基础。

2. Node.js Toolbox

在 Node.js 生态系统中寻找积极维护和流行的库。

3. 前端构建工具进化历程

内容涵盖前端构建工具的进化历程、前端构建工具技术方案对比、常用构建工具核心实现原理。

4. 通过 React Router V6 源码,掌握前端路由

内容涵盖客户端里的路由模式、React Router v6 的架构设计、核心实现 & 组件、常用 Hooks 等。

好了,以上就是本期的食堂周刊,观众老爷们如果觉得还不错,一键三连是对食堂老板最大的支持。

你的前端食堂,吃好每一顿饭,我们下期见。


童欧巴
2.6k 声望4.2k 粉丝