据 1M AI News 监测,Midjourney 工程师、React 动画库 react-motion 作者 Cheng Lou 开源了 Pretext,一个纯 JavaScript/TypeScript 文本测量与排版库,零依赖。Pretext 绕过浏览器 DOM 测量(如 getBoundingClientRect、offsetHeight),避免布局回流(layout reflow),用纯算术完成文本高度计算和换行。
Pretext 分两阶段工作:prepare() 通过 Canvas API 一次性测量字符宽度,layout() 基于缓存的宽度数据做纯算术运算。在 500 段文本的基准测试中,prepare() 耗时约 19ms,layout() 仅需 0.09ms。Cheng Lou 在配套文章中写道,「性能提升不是渐进的,而是质变的:0.05ms 对比 30ms,零次回流对比五百次」。
库支持中日韩、阿拉伯语等全语种及 emoji、混合双向文本,可渲染到 DOM、Canvas、SVG。典型应用场景包括: