32 lines
1,023 B
Markdown
32 lines
1,023 B
Markdown
|
# 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](https://nextjs.org/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
|
||
|
import Script from 'next/script'
|
||
|
|
||
|
function MyApp({ Component, pageProps }) {
|
||
|
return (
|
||
|
<>
|
||
|
<Script src="/my-script.js" />
|
||
|
<Component {...pageProps} />
|
||
|
</>
|
||
|
)
|
||
|
}
|
||
|
|
||
|
export default MyApp
|
||
|
```
|
||
|
|
||
|
- [custom-app](https://nextjs.org/docs/advanced-features/custom-app)
|
||
|
- [next-script](https://nextjs.org/docs/basic-features/script#usage)
|