Нет скрипта до интерактивного скрипта вне документа
Запретить использование стратегии
next/script'sbeforeInteractiveвнеapp/layout.jsxилиpages/_document.js.
Почему произошла эта ошибка
Вы не можете использовать компонент next/script со стратегией beforeInteractive вне app/layout.jsx или pages/_document.js. Это потому, что стратегия beforeInteractive работает только внутри app/layout.jsx или pages/_document.js и предназначена для загрузки скриптов, необходимых для всего сайта (то есть скрипт загрузится, когда любая страница приложения будет загружена на стороне сервера).
Возможные способы исправить это
Маршрутизатор приложений
Если вам нужен глобальный скрипт, и вы используете маршрутизатор приложений, переместите скрипт внутрь app/layout.jsx.
import Script from 'next/script'
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>{children}</body>
<Script
src="https://example.com/script.js"
strategy="beforeInteractive"
/>
</html>
)
}Маршрутизатор страниц
Если вам нужен глобальный скрипт, и вы используете маршрутизатор страниц, переместите скрипт внутрь pages/_document.js.
import { Html, Head, Main, NextScript } from 'next/document'
import Script from 'next/script'
export default function Document() {
return (
<Html>
<Head />
<body>
<Main />
<NextScript />
<Script
src="https://example.com/script.js"
strategy="beforeInteractive"
></Script>
</body>
</Html>
)
}
© 2024 Vercel, Inc.
Licensed under the MIT License.
https://nextjs.org/docs/messages/no-before-interactive-script-outside-document