next/script
https://nextjs.org/docs/app/building-your-application/optimizing/scripts
https://nextjs.org/docs/app/api-reference/components/script
概要
サードパーティのスクリプトを読み込む際に用いられる
サードパーティ製のスクリプト
分析ログ
warning.icon パフォーマンスへの不必要な影響を最小限に抑えるため、特定のページまたはレイアウトにのみ含めたほうが良い
Application Script はなるべく避ける
Layout Script
任意の Route でサードパーティスクリプトを読み込む
code:app/dashboard/layout.tsx
import Script from 'next/script'
export default function DashboardLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<>
<section>{children}</section>
<Script src="https://example.com/script.js" />
</>
)
}
サードパーティスクリプトは、<Script> を設置した layout.tsx のネストされたルートでも読み込まれる
ただし、ユーザがレイアウト内の複数の Route 間を移動しても 1 回しか読み込まれない
Application Script
すべての Route でサードパーティスクリプトを読み込む
Root Layout で <Script> を設置する
code:app/layout.tsx
import Script from 'next/script'
export default function RootLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<html lang="en">
<body>{children}</body>
<Script src="https://example.com/script.js" />
</html>
)
}
サードパーティスクリプトは、ユーザが複数のページ間を移動しても 1 回しか読み込まれない
#Next.js