點燈坊

失くすものさえない今が強くなるチャンスよ

使用 Page 建立 Route

Sam Xiao's Avatar 2021-08-21

在 Vue 我們會使用獨立的 router/index.js 定義 Route,Gridsome 則另外提供 Page 以實際 Component 定義 Route。

Version

Gridsome 0.7.23

Simple Page

pages/Product.vue

<template>
  <div>
    <h1>Product</h1>
  </div>
</template>

Vue 與 Gridsome 都建議以 PascalCase 對 component 檔案命名。

任何 component 在 pages 目錄下會自動成為 route,且 capital letter 成為小寫。

page000

pages/NewProduct.vue

<template>
  <div>
    <h1>New Product</h1>
  </div>
</template>

若 component 的檔名為兩個英文單字組成,則 route 會自動以 - 間隔之。

page001

Nested Page

src/pages/new/Product.vue

<template>
  <div>
    <h1>New Product</h1>
  </div>
</template>

product 想在 new 底下,只要在 pages 建立 new 實體目錄,並將 Product.vue 放在 new 目錄下。

page002

Default Page

src/pages/new/Index.vue

<template>
  <div>
    <h1>Index</h1>
  </div>
</template>

若想在 new 底下而不想輸入任何 page 名稱,可在 new 目錄下建立建立 Index.vue

page003

404

src/pages/404.vue

<template>
  <div>
    <h1>
      404 Pages
    </h1>
  </div>  
</template>

可自行在 pages 目錄下建立 404.vue 取代 Gridsome 內建的 404.vue

需重新 yarn serve 才會生效

page009

Conclusion

  • Page 對於 JAMStack 格外重要,我們以實際檔案就能快速定義 route

Reference

Reed Barger, Pages, Routes, 404
Gridsome, Pages