@altano/satori-fit-text

中文文档
3.1.0发布于 2026/10/15ISCTypeScriptES Module构建来源已验证近 30 天下载 6792

将文本匹配到节点或浏览器中的边框

中文使用文档
文档目录7 节
  1. 安装
  2. 基本示例
  3. 示例用途
  4. 密码沙盒
  5. 代码
  6. 执行情况
  7. 业绩

缩写文字

计算符合边框的最大文本字体大小,而不使用网页浏览器。 到处都行 佐织 does,例如Node.js,网页浏览器,Vercel边缘运行时间等.

Demo

安装

# Using NPM
npm install @altano/satori-fit-text
# Using Yarn
yarn add @altano/satori-fit-text
# Using PNPM
pnpm add @altano/satori-fit-text

基本示例

import { findLargestUsableFontSize, type Font } from "@altano/satori-fit-text";

async function getInter(): Promise<Font> {
  const interSemiBoldBuffer = await fetch(
    `https://cdn.jsdelivr.net/npm/@fontsource/[email protected]/files/inter-latin-600-normal.woff`,
  ).then((res) => res.arrayBuffer());

  return {
    name: "Inter",
    data: interSemiBoldBuffer,
    weight: 600,
  };
}

const largestUsableFontSize = await findLargestUsableFontSize({
  lineHeight: 1,
  font: await getInter(),
  text: "Some text I want to be as big as possible",
  maxWidth: 1136,
  maxHeight: 429,
});

console.log(largestUsableFontSize);

示例用途

密码沙盒

代码

执行情况

库会尝试各种字体大小,直到找到最理想的可行字体. 每个迭代都通过生成带有佐藤里的SVG并计算出SVG的边框来测试.

业绩

字体大小搜索是在 1 到 1000 之间的二进制搜索 O(log maxFontSize-minFontSize) 运行时间,或默认 O(log 1000)。可以通过缩小搜索空间之间的差值来提高性能 minFontSize 财务报告和审定财务报表 maxFontSize,减少了猜测的数量.

如果你在做类似制作Open Graph卡片的事 那你可能就不用担心表现了.

版本与发布记录

@altano/satori-fit-text 共发布 14 个版本,首次发布于 2023/08/31;过去 12 个月发布了 3 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.1.0latest2026/10/1523 天前
3.0.02026/08/023 个月前
2.0.22026/03/237 个月前
2.0.12025/07/071.3 年前
2.0.02025/07/011.4 年前
1.0.22025/04/131.6 年前

关于 @altano/satori-fit-text 的常见问题

@altano/satori-fit-text 是什么?

将文本匹配到节点或浏览器中的边框

如何安装 @altano/satori-fit-text?

在项目目录运行 npm install @altano/satori-fit-text,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@types/react(19.x.x)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@altano/satori-fit-text 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@altano/satori-fit-text 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@altano/satori-fit-text 可以商用吗?

@altano/satori-fit-text 使用 ISC 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@altano/satori-fit-text 的下载量有多少?

根据 npm 官方下载统计,@altano/satori-fit-text 在 2026/10/06 – 2026/11/04 这 30 天内被下载 6,792 次,日均约 226 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@altano/satori-fit-text 还在维护吗?

最新版本 3.1.0 发布于 2026/10/15(23 天前);至今共发布 14 个版本,其中过去 12 个月发布了 3 个;首次发布于 2023/08/31。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。