TypeScript 字体导入,链接标签属性 crossorigin 出错

Skh*_*haz 11 fonts typescript next.js

导入自定义字体(例如谷歌字体)时如何解决此打字稿错误。

<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
Run Code Online (Sandbox Code Playgroud)

这里是错误的详细信息:

Type 'boolean' is not assignable to type 'string'.ts(2322)
index.d.ts(2279, 9): The expected type comes from property 'crossOrigin' which is declared here on type 'DetailedHTMLProps<LinkHTMLAttributes<HTMLLinkElement>, HTMLLinkElement>'
Run Code Online (Sandbox Code Playgroud)

使固定:

  • 属性是:crossOrigin,而不是crossorigin(O是大写的)
  • crossOrigin 接受一个字符串。如果您在链接标记中添加 crossOrigin,则<link ... crossOrigin />您正在编写的这是一个布尔值(期望 true 或 false),而它需要一个字符串。这就是为什么将其设置为 crossOrigin="anonymous" 会起作用的原因
  • 从 v10.2 开始,Next.js 具有内置的 Web 字体优化功能,这意味着您可以将其删除并且它会起作用

小智 8

您是否尝试编写crossOrigin而不是crossorigin

  • 谢谢!`crossOrigin="true"` 也使错误消失了! (10认同)
  • @Tirias 这是 crossOrigin="anonymous" (7认同)
  • “crossorigin”,只有 crossOrigin 给了我同样的错误,我可能应该传递一些值?crossOrigin="somevalue",但是哪个值呢? (5认同)
  • &lt;link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="anonymous" /&gt; 对我来说,这有效。导入 Roboto 字体 (4认同)