@nuxt/fonts 是 Nuxt 生态的字体模块,版本 0.14.0,依赖 @nuxt/kit、unifont、fontless、unstorage 等。用途:在 Nuxt 项目中自动解析字体需求,生成 @font-face 并自托管字体文件。
主要能力:支持 google、npm(从 node_modules 解析,如 @fontsource/*,v0.14 新增)、googleicons(Material Symbols/Icons,v0.8 新增)等提供商,并可按需用 provider: 'none' 排除某字体。v0.14 新增逐字体 providerOptions 与 throwOnError(默认 false,设为 true 时字体解析错误抛出而非警告);v0.13 新增 fonts:public-asset-context 钩子,提供 renderedFontURLs 映射,供预渲染期解析字体 URL。
使用方式:以 nuxt.config 的 fonts 配置项设定 defaults 等参数;调试可用 npx -y skilld search "query" -p @nuxt/fonts 检索文档、问题与发布记录。可参考 package.json(导出与入口)、README(安装与基本用法)、GitHub Issues、Releases。
限制与注意事项:v0.14 起 defaults.formats 仅默认 ['woff2'],需要旧格式需显式配置;v0.12 起默认字重从 [400] 改为 ['400 700'],可能多解析字重;v0.11 移除 CommonJS,仅支持 ESM,require 不再可用,且 processCSSVariables 默认改为 'font-prefixed-only';v0.10 起内部提供商系统被 unifont 取代,自定义提供商须用 unifont 的 defineFontProvider。建议显式指定字重列表,变量字体用范围(如 '100 900'),Tailwind v4 用 @theme 而非 @theme inline,字体名后加通用族以降低 CLS,本地字体文件名带字重与样式后缀。具体平台支持、收费与价格暂未提供。