3 min read
ā¢Question 14 of 47easyHow to load external scripts in Next.js?
Using the Script component for third-party scripts.
What You'll Learn
- Script component usage
- Loading strategies
- Inline scripts
Basic Usage
code.txtTSX
import Script from 'next/script';
export default function Page() {
return (
<>
<Script src="https://example.com/script.js" />
<h1>My Page</h1>
</>
);
}Loading Strategies
code.txtTSX
// Load after page is interactive (default)
<Script src="/script.js" strategy="afterInteractive" />
// Load before page hydration
<Script src="/critical.js" strategy="beforeInteractive" />
// Load during idle time
<Script src="/analytics.js" strategy="lazyOnload" />
// Load in web worker
<Script src="/heavy.js" strategy="worker" />Event Handlers
code.txtTSX
<Script
src="https://example.com/script.js"
onLoad={() => console.log('Script loaded')}
onError={() => console.log('Script failed')}
onReady={() => console.log('Script ready')}
/>Inline Scripts
code.txtTSX
<Script id="gtag">
{`
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
`}
</Script>Google Analytics
code.txtTSX
<Script
src="https://www.googletagmanager.com/gtag/js?id=GA_ID"
strategy="afterInteractive"
/>
<Script id="google-analytics" strategy="afterInteractive">
{`
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'GA_ID');
`}
</Script>