rsnext/errors/no-page-custom-font.mdx

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

72 lines
1.7 KiB
Text
Raw Permalink Normal View History

---
title: No Page Custom Font
---
> Prevent page-only custom fonts.
## Why This Error Occurred
- The custom font you're adding was added to a page - this only adds the font to the specific page and not the entire application.
- The custom font you're adding was added to a separate component within `pages/_document.js` - this disables automatic font optimization.
## Possible Ways to Fix It
2021-05-11 13:05:03 +02:00
Create the file `./pages/_document.js` and add the font to a custom Document:
```jsx filename="pages/_document.js"
import Document, { Html, Head, Main, NextScript } from 'next/document'
class MyDocument extends Document {
render() {
return (
<Html>
<Head>
<link
href="https://fonts.googleapis.com/css2?family=Inter&display=optional"
rel="stylesheet"
/>
</Head>
<body>
<Main />
<NextScript />
</body>
</Html>
)
}
}
export default MyDocument
```
Or as a function component:
```jsx filename="pages/_document.js"
import { Html, Head, Main, NextScript } from 'next/document'
export default function Document() {
return (
<Html>
<Head>
<link
href="https://fonts.googleapis.com/css2?family=Inter&display=optional"
rel="stylesheet"
/>
</Head>
<body>
<Main />
<NextScript />
</body>
</Html>
)
}
```
### When Not To Use It
If you have a reason to only load a font for a particular page or don't care about font optimization, then you can disable this rule.
## Useful Links
- [Custom Document](/docs/pages/building-your-application/routing/custom-document)
- [Font Optimization](/docs/pages/building-your-application/optimizing/fonts)