如果我們想要修改頁面的詮釋資料,例如 <title>
HTML 標籤,該怎麼辦呢?
<title>
為 <head>
HTML 標籤的一部分,所以讓我們先來看看如何在 Next.js 頁面中修改 <head>
標籤。
在編輯器中開啟 pages/index.js
,並找到以下程式碼:
<Head> <title>Create Next App</title> <link rel="icon" href="/favicon.ico" /> </Head>
請注意,應使用 <Head>
而非小寫的 <head>
,<Head>
是一個內建於 Next.js 的 React 元件,它允許你修改頁面的 <head>
。
你可以從 next/head
模組中匯入 Head
元件。
first-post.js
中加入 Head
我們尚未在 /posts/first-post
路由中加入 <title>
,讓我們在其中添加一個。
開啟 pages/posts/first-post.js
,並將 next/head
的 Head
匯入於檔案開頭:
import Head from 'next/head';
接著,更新匯出的 FirstPost
元件,使其包含 Head
元件,目前我們只在其中加入 title
標籤:
export default function FirstPost() { return ( <> <Head> <title>First Post</title> </Head> <h1>First Post</h1> <h2> <Link href="/"> Back to home </Link> </h2> </> ); }
嘗試訪問 http://localhost:3000/posts/first-post ,瀏覽器分頁名稱應該會顯示 “First Post”,若使用瀏覽器的開發者工具,你應該會看到 title
標籤已被加入到 <head>
內。
若想了解更多有關 Head
元件的資訊,請參閱 next/head
的 API 參考。
若想自訂 <html>
標籤,像是加入 lang
屬性,你可以透過建立 pages/_document.js
檔案來達成,詳細資訊請參閱 自訂 Document
文件。