Pretext:纯JavaScript/TypeScript文本测量与排版库

Midjourney工程师Cheng Lou开源了Pretext,这是一个零依赖的纯JavaScript/TypeScript库,用于高性能文本测量与排版。它绕过浏览器DOM测量(如getBoundingClientRect),通过纯算术计算文本高度和换行,彻底避免布局回流。

核心工作原理

  1. 准备阶段 (prepare()):通过Canvas API一次性测量字符宽度并缓存。
  2. 布局阶段 (layout()):基于缓存数据,进行纯算术运算完成排版。

性能表现
在500段文本的基准测试中:

  • prepare()耗时约19ms
  • layout()仅需0.09ms
    性能对比:0.05ms vs 30ms,零次回流 vs 数百次回流。

特性与支持

  • 支持全语种(包括中日韩、阿拉伯语)及emoji、混合双向文本。
  • 可渲染输出到DOM、Canvas、SVG。

典型应用场景

  • 无需猜测高度的虚拟列表与遮挡剔除
  • JavaScript驱动的自定义布局(如瀑布流)
  • 聊天气泡的多行文本自适应宽度收缩
  • 文本环绕图片等复杂编辑排版

🔥 实时行情点位,群内抢先看!

进群蹲精准做单提示→青岚免费交易社群 (电报)

以上仅为青岚姐个人观点,不作为投资建议,交易需谨慎|本文由青岚加密课堂整理优化