
- Next.js 教程
- Next.js - 首頁
- Next.js - 概覽
- Next.js - 環境設定
- Next.js 特性
- Next.js - 頁面
- Next.js - 靜態檔案服務
- Next.js - 元資料
- Next.js - CSS 支援
- Next.js - 全域性 CSS 支援
- Next.js - 預渲染
- Next.js 路由
- Next.js - 路由
- Next.js - 動態 API 路由
- Next.js - 命令式路由
- Next.js - 淺路由
- Next.js API 路由
- Next.js - API 路由
- Next.js - API 中介軟體
- Next.js - 響應助手
- Next.js 雜項
- Next.js - TypeScript
- Next.js - 環境變數
- Next.js - 部署
- Next.js - CLI
- Next.js 有用資源
- Next.js - 快速指南
- Next.js - 有用資源
- Next.js - 討論
Next.js - 路由
Next.js 使用基於檔案系統的路由器。每當我們將任何頁面新增到pages目錄時,它都會透過 URL 自動可用。以下是此路由器的規則。
索引路由 - 資料夾中存在的 index.js 檔案對映到目錄的根目錄。例如 -
pages/index.js 對映到 '/'。
pages/posts/index.js 對映到 '/posts'。
巢狀路由 - pages 目錄中的任何巢狀資料夾結構,因為路由器 URL 會自動生成。例如 -
pages/settings/dashboard/about.js 對映到 '/settings/dashboard/about'。
pages/posts/first.js 對映到 '/posts/first'。
動態路由 - 我們也可以使用命名引數來匹配 URL。為此使用方括號。例如 -
pages/posts/[id].js 對映到 '/posts/:id',我們可以使用像 '/posts/1' 這樣的 URL。
pages/[user]/settings.js 對映到 '/posts/:user/settings',我們可以使用像 '/abc/settings' 這樣的 URL。
pages/posts/[...all].js 對映到 '/posts/*',我們可以使用任何 URL,例如 '/posts/2020/jun/'。
頁面連結
Next.JS 允許使用 Link React 元件在客戶端連結頁面。它具有以下屬性 -
href - pages 目錄中頁面的名稱。例如/posts/first,它指的是 pages/posts 目錄中存在的 first.js。
讓我們建立一個示例來演示它。
在這個例子中,我們將更新 index.js 和 first.js 頁面以進行伺服器命中以獲取資料。
讓我們更新在全域性 CSS 支援章節中使用的 nextjs 專案。
更新 pages 目錄中的 index.js 檔案,如下所示。
import Link from 'next/link' import Head from 'next/head' function HomePage(props) { return ( <> <Head> <title>Welcome to Next.js!</title> </Head> <div>Welcome to Next.js!</div> <Link href="/posts/first">> <a>First Post</a></Link> <br/> <div>Next stars: {props.stars}</div> <img src="/logo.png" alt="TutorialsPoint Logo" /> </> ) } export async function getServerSideProps(context) { const res = await fetch('https://api.github.com/repos/vercel/next.js') const json = await res.json() return { props: { stars: json.stargazers_count } } } export default HomePage
啟動 Next.js 伺服器
執行以下命令以啟動伺服器 -。
npm run dev > nextjs@1.0.0 dev \Node\nextjs > next ready - started server on https://:3000 event - compiled successfully event - build page: / wait - compiling... event - compiled successfully event - build page: /next/dist/pages/_error wait - compiling... event - compiled successfully
驗證輸出
在瀏覽器中開啟 localhost:3000,您將看到以下輸出。

點選第一個帖子連結。
