44d1a1cb15
This PR is part of a larger effort to migrate error messages to MDX and use App Router: https://github.com/vercel/front/pull/23459
33 lines
1 KiB
Text
33 lines
1 KiB
Text
---
|
|
title: No Script in Document
|
|
---
|
|
|
|
> Prevent usage of `next/script` in `pages/_document.js`.
|
|
|
|
> ⚠️ This error is not relevant in Next.js versions 12.1.6 or later. Please refer to the updated [error message](/docs/messages/no-before-interactive-script-outside-document).
|
|
|
|
## Why This Error Occurred
|
|
|
|
You should not use the `next/script` component in `pages/_document.js` in Next.js versions prior to 12.1.6. That's because the `pages/_document.js` page only runs on the server and `next/script` has client-side functionality to ensure loading order.
|
|
|
|
## Possible Ways to Fix It
|
|
|
|
If you want a global script, use `next/script` in `pages/_app.js` instead.
|
|
|
|
```jsx filename="pages/_app.js"
|
|
import Script from 'next/script'
|
|
|
|
function MyApp({ Component, pageProps }) {
|
|
return (
|
|
<>
|
|
<Script src="/my-script.js" />
|
|
<Component {...pageProps} />
|
|
</>
|
|
)
|
|
}
|
|
|
|
export default MyApp
|
|
```
|
|
|
|
- [custom-app](/docs/pages/building-your-application/routing/custom-app)
|
|
- [next-script](/docs/pages/building-your-application/optimizing/scripts)
|