【NEXT.JS 系列】資產、後設資料與CSS 1

Home 教學 【NEXT.JS 系列】資產、後設資料與CSS 1
【NEXT.JS 系列】資產、後設資料與CSS 1
Next.js

我們添加的第二個頁面目前沒有樣式。 讓我們添加一些 CSS 來設置頁面樣式。

Next.js 內置了對 CSS 和 Sass 的支持。 在本教學中,我們將使用 CSS。

本課還將討論 Next.js 如何處理像圖片這樣的靜態資產和像 <title> 標籤這樣的頁面後設資料(metadata)。

您將在本課中學到什麼

在本課中,您將學習:

  • 如何將靜態檔案(圖片等)添加到 Next.js。
  • 如何自定義每個頁面中 <head> 的內容。
  • 如何建立一個使用 CSS 模組樣式化的可重複使用的 React 元件。
  • 如何在 pages/_app.js 中添加全域 CSS。
  • Next.js 中一些進行樣式設置的有用技巧。

先決條件

  • 基本的 CSS 知識。 本課程將介紹如何在 Next.js 應用程式中添加 CSS,但不會涵蓋 CSS 基礎知識。

資產(Assets)

Next.js 可以在頂端 public 目錄下提供靜態資產,比如圖片。 public 中的文件可以從應用程式的根目錄中引用,類似於 pages

public 目錄對於 robots.txt、Google 網點驗證和任何其他靜態資產也很有用。 查看靜態文件服務的文檔以了解更多資訊。

下載您的個人資料圖片

首先,讓我們檢索您的個人資料圖片。

  • .jpg 格式下載您的個人資料圖片(或使用此文件)。
  • public 目錄中建立一個 images 目錄。
  • public/images 目錄中將圖片另存為 profile.jpg
  • 圖片大小可以在 400 像素 x 400 像素左右。
  • 您可以直接在 public 目錄下刪除未使用的 SVG 徽標文件。

未優化的圖像

使用常規 HTML,您將添加您的個人資料圖片,如下所示:

<img src="/images/profile.jpg" alt="Your Name" />

但是,這意味著您必須手動處理:

  • 確保您的圖片在不同的螢幕尺寸上都能響應式呈現
  • 使用第三方工具或函示庫優化您的圖像
  • 僅在圖片進入讀者視區時加載圖片

還有更多要做的事。 然而,Next.js 提供了一個開箱即用的 Image 元件來為您處理這個問題。

Image 元件和圖片優化

next/image 是 HTML 元素 <img> 的擴展,是為現代網路發展而來的。

Next.js 預設還支持圖片優化。 這允許在瀏覽器支持時以 WebP 等現代格式調整、優化和提供圖像。 這避免了將大圖像傳送到具有較小視區的設備。 它還允許 Next.js 自動採用未來的圖像格式並將它們提供給支持這些格式的瀏覽器。

自動圖像優化適用於任何圖片源。 即使圖片由外部數據源(如 CMS)託管,它仍然可以進行優化。

使用 Image 元件

Next.js 不是在建構時優化圖像,而是在用戶請求時按需求優化圖像。 與靜態網站生成器和純靜態解決方案不同,您的建構時間不會增加,無論是發送 10 個圖像還是 1000 萬個圖像。

預設情況下,圖像是延遲加載的。 這意味著您的頁面速度不會因視區之外的圖片而受到懲罰。 圖片會在滾動到視區時才加載。

圖片總是以這樣的方式呈現,以避免累積佈局移位(Cumulative Layout Shift),這是谷歌將在搜索排名中使用的網路核心指標 (Core Web Vital) 。

下面是一個使用 next/image 來顯示我們的個人資料圖片的範例。 heightwidth props 應該要是所需渲染的大小,縱橫比與源圖片相同。

注意:我們稍後將在“拋光佈局”中使用該元件,無需複製它。

import Image from 'next/image';

const YourComponent = () => (
  <Image
    src="/images/profile.jpg" // Route of the image file
    height={144} // Desired size with correct aspect ratio
    width={144} // Desired size with correct aspect ratio
    alt="Your Name"
  />
);

要了解有關自動圖片優化的更多資訊,請查看文件

要了解有關 Image 元件的更多內容,請查看 next/image 的 API 參考文件

下一節中,我們將繼續認識後設資料 (Metadata)

相關文章