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​
Create the file ./pages/_document.js
and add the font to a custom Document:
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:
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.