優化第三方腳本
許多應用程式依賴第三方 JavaScript 來實現各種功能,例如分析工具、廣告和客戶支援小工具。然而,過早載入第三方編寫的程式碼可能會延遲頁面內容的渲染,並影響使用者體驗。
Next.js 提供了一個內建的 Script 元件,可以優化任何第三方腳本的載入,同時讓開發者決定何時獲取並執行這些腳本。
使用 Script 元件
在傳統 HTML 中,外部腳本需要手動添加到 next/head
:
import Head from 'next/head';
function IndexPage() {
return (
<div>
<Head>
<script src="https://www.googletagmanager.com/gtag/js?id=123" />
</Head>
</div>
);
}
使用 Next.js 的 Script 元件時,您可以將其添加到元件中的任何位置,而無需使用 next/head
:
import Script from 'next/script';
function IndexPage() {
return (
<div>
<Script
strategy="afterInteractive"
src="https://www.googletagmanager.com/gtag/js?id=123"
/>
</div>
);
}
Script 元件引入了一個 strategy
屬性,讓您可以決定何時獲取並執行腳本以實現最佳載入效果。為了避免對最大內容繪製 (LCP) 造成負面影響,大多數第三方腳本應延遲到頁面所有內容載入完成後再執行,可以在頁面變得可互動後立即執行 (strategy="afterInteractive"
),或在瀏覽器空閒時間懶載入 (strategy="lazyOnload"
)。
延伸閱讀
- Next.js: Script 元件
- Next.js:
next/script
API 參考文件