30 天做一個 content-first 網站:從零 JavaScript 的靜態頁,做到有登入、資料庫與購物車。中間經過檔案式路由、Content Collections、Vue island、Actions 與 Drizzle + Turso。寫給已經會 Vue 或 React、還在猶豫內容站要不要換 Astro 的前端工程師。易變的 API 都查當天官方文件並標註查證基準,也附 JavaScript 傳輸量等實測數字。每天都有可跑的程式碼,放在公開 repo app-steps,一天一個 commit,Day N 對應 step-N。最後一天回答哪些專案適合 Astro,哪些不適合。
收一張表單,常見做法是:前端用 fetch 送資料,後端開一支 APIroute 接資料。前端驗一次,讓使用者當場看到錯誤;後端再驗一次,防止有人繞過前端。這樣...
Day 21 那張 feedback 表單,現在收得到、驗得過,但送出後就沒了:handler 只驗證、只回傳,沒把資料留下來。這篇要把它接上資料層,讓每一筆...
登入狀態由 server 的 middleware 判斷,結果放進context.locals。同一個 request 後面的頁面或 Action 直接讀這份結...
Day 23:middleware、locals 與 island 的狀態邊界已經把完整資料流拆開:每個 request 都由 middleware 辨認使用者...
可以。在共用 layout 的 <head> 放一個 <ClientRouter />,Astro 就會接手站內連結,讓多頁網站用 cl...
多語系網站要先決定 URL,再開始翻內容。Astro 的 i18n config 可以定義預設語系、URLprefix 與缺頁 fallback,但它不會替你判...
安裝 integration 前,先說清楚缺的是哪一種能力。Astro integration 適合加入 frameworkrenderer、內容格式或跨建置流...
先看內容正本與編輯流程,再選 CMS。GoogleSheets 適合小型、欄位固定的表格資料;Keystatic 適合想保留 Markdown 與 Git,又需...