1. Pretext是什么
Cheng Lou 发布了一个纯 TypeScript 写的文本测量库 Pretext,能在完全不依赖 DOM 的情况下,精确计算文本的排版尺寸。
Cheng Lou 是前端圈的老熟人,参与过 React、ReasonML、ReScript 的开发,后来在 Midjourney 工作。这次他说自己"从地狱深处爬回来",带回了这个项目。
1.1 形象化的例子,让你理解Pretext是什么
Pretext: 纯 TypeScript 文本测量引擎,解锁了 30 年来 Web 做不到的排版问题
前 React 核心团队成员、ReasonML 作者、现 Midjourney 工程师 Cheng Lou 开源了 Pretext,一个纯 TypeScript 写的文本测量和排版库。
能让你不用真的把文字放到网页上,就能提前知道文字会占多大空间。
先打个比方。
你装修房子,买了一个书架,想知道放在客厅那面墙能不能放得下。正常人会拿尺子量一下墙的宽度和书架的宽度,对比一下就知道了。
但浏览器不是这么干的。浏览器的做法是:把书架搬过去,塞进客厅,然后看看放不放得下。放不下?搬走,换个位置再塞一次。每次你想知道"放不放得下",它就搬一次家具。
这就是为什么网页有时候会"闪"一下,聊天列表滑着滑着会"跳"一下。
浏览器在反复搬家具。
Pretext 做的事情就是给浏览器一把尺子。量一下就知道了,不用搬。
它用纯数学计算文字的高度和行数,不需要真的把文字放到网页上去排版。
500 段文字的计算只要 0.09 毫秒,比浏览器"搬家具"快几百倍。
2. Pretext解决了一个一直卡住前端想象力的死结:
在浏览器里,你的 3D、动画和 WebGL 可以玩得极炫,但只要界面里塞进大量真实文本,最后还是得乖乖向 DOM 黑盒妥协。
因为传统的文本测量极度依赖 CSS 和 DOM 的重排(Reflow),又重又卡。

2.1. pretext 做了件极其生猛的事:
用纯 TypeScript,在用户态实现了极速、高精度的多行文本测量。
它彻底绕开了 DOM 测量和回流,甚至可以不用 CSS 就完成整个网页的排版!
把“文本布局”的控制权从浏览器手里抢回来,这意味着“先渲染再去量高度”的被动局面被彻底打破,文本变成了可预测、可计算的纯数据。
排版被抽象成了纯数学问题,算完之后,你可以无缝把数据扔给 DOM、Canvas、SVG 甚至 WebGL 去画。
2.2. 作者有句话说得非常透彻:
“文本测量和布局,一直是解锁更有意思 UI 的最后一个、也是最大的瓶颈,尤其是在如今的 AI 时代。”
过去前端有个很尴尬的妥协:你必须在“炫酷的 WebGL 视觉体验”和“标准实用的博客正文排版”之间二选一。
2.3.但有了 pretext 提供的高性能底层算力:
动态 AI 聊天流、Canvas 里的异形富文本、丝滑的瀑布流……这些极度吃性能的复杂 UI 终于有了落地的可能。
我们再也不用在“视觉表现力”和“正文可读性”之间做取舍了。
强烈建议所有搞重度 UI、AI 交互和前端优化的兄弟去扒一下仓库。