不知各位有沒有聽過 JAMStack
? JAMStack
就是 JavaScript
, API
, Markup
合在一起的一種稱呼,是一種新的(?)或說是幫已經存在的東西取個新名字的技術,在現在前端框架滿天飛,一堆 Single Page Application 的情況下,主打的是將網頁在建置的過程中就 render 好,只提供 html, css, js 與圖片等等的靜態資源,上線後就不再與資料庫、後端等等的部份溝通的靜態網頁,而體現了 JAMStack
這樣的一個技術的就是如 React 的 Next.js
, Gatsby
或是 Vue 的 Nuxt.js
, Gridsome
這類的 Static Site Generator (或是純手工 html 網站w)
這系列主要會從 0 開始打造一個建立在 React 之上的 Static Site Generator ,在這過程中我們可以認識到 server render 究竟是如何實作的,了解如何寫出同時支援 Server Side Render 與 Client Side Render 的程式,也會碰到一些 GraphQL ,一步步的打造出我們自己的 Static Site Generator,再看看 Gatsby
還有什麼不錯的功能,也把它給抄過來,最後也會來提一下 Vue 的 server render 要怎麼直接使用
這系列假設你有:
另外要提到一點,本系列會傾向使用 yarn v2 做為套件管理器,指令基本上跟 yarn v1 沒有什麼太大的差別,我也會盡可能的使用通用的指令,但 yarn v2 預設是使用 pnp 模式,在這個模式下如果你的相依性沒有被正確定義的話在使用時是會出問題的,如果直接使用本系列附的範例程式碼而發生問題的話,你可以嘗試換成 npm 或透過刪除 yarn 的設定檔 .yarnrc.yml
的方式切換回 yarn v1
底下的規劃還只是暫訂的,實際可能會有所調整
另外打個廣告,由於本人今年有兩個想寫的題目實在無法抉擇其中一邊,所以兩個都報名了,也請多多支持另一個系列「前端建置工具完全手冊」