AI 科技資訊人工智慧的新知入口
首頁 / Bun + Hono 靜態網站建置指南:上傳 Cloudflare Pages 的超低成本極速方案

Bun + Hono 靜態網站建置指南:上傳 Cloudflare Pages 的超低成本極速方案

在尋求低成本、高效能的架站方案時,「靜態網站產生器(Static Site Generation, SSG)」搭配雲端邊緣託管已成為現代顯學。如果您正準備架設一個內容不太常更新的網站(例如個人部落格、企業形象官網或產品型錄),那麼使用 Bun 搭配 Hono 框架來建立靜態網頁,再上傳到 Cloudflare Pages 進行託管,是目前市面上最被推崇的「極速、安全且近乎免費」的黃金組合。

這套架構能讓您的網站在全球邊緣伺服器上瞬時加載,同時完全免去租用虛擬主機與維護資料庫的開銷。

想像一下建房子:傳統網站像是在工地現場一磚一瓦蓋房子(每次用戶連線都要現場查詢資料庫並渲染);而這套架構則是先把所有牆壁、屋頂在工廠做成預製組件(在本地電腦直接將網頁打包成 HTML),最後直接運送到免費的空地上組裝(上傳到全球分佈的 Cloudflare Pages 節點)。

一句話重點

透過 Bun + Hono 生成靜態 HTML,結合 JSON 微資料庫與外部圖床,能完美佈署至 Cloudflare Pages 實現零維護成本的極速網站。


它解決什麼問題?

傳統動態網站(如 WordPress)雖然方便,但在中低流量或少更新的場景下,存在以下缺點:

  1. 主機開銷與維護成本:每個月必須支付主機費,還要定期更新系統、備份 SQL 資料庫,防範駭客攻擊。
  2. 連線速度受限:如果主機買在台灣,海外用戶連線就會變慢;若租用 CDN 加速,費用又會大幅增加。
  3. 冷啟動延遲:採用 Serverless 雲端函數時,常會因為一段時間無人訪問,導致下一個用戶連線時需要等待數秒的「冷啟動」時間。

使用 Bun + Hono 打包為純靜態網站並上傳至 Cloudflare Pages,網頁會直接存放在 Cloudflare 全球的邊緣節點上,無須經過任何伺服器運算,毫秒內即可完成下載,且對外完全沒有資料庫接口,安全性近乎完美。


核心特色與架構優勢

1. 適合不常更新的網站 (極致省錢、零維護成本)

如果您的網頁內容(如公司介紹、菜單、聯絡資訊)每週或每個月才修改一次,那麼您完全不需要動態伺服器。一旦在本地端修改完畢,一鍵打包上傳,Cloudflare 隨即自動在全球更新快取,省時省力。

2. 使用 JSON 作為微資料庫 (簡化資料同步)

在沒有 SQL 資料庫的情況下,我們可以將文章內容、產品資訊或菜單資料整理在一個 JSON 檔案中。這個 JSON 檔就像是一個「微型資料庫」,在打包網頁時,Hono 會讀取這個 JSON 檔並自動生成對應的 HTML 頁面。由於資料都在同一個文字檔裡,備份、同步與修改都極為簡單,完全不需要維護資料庫。

3. 搭配圖床突破 Cloudflare Pages 限制

Cloudflare Pages 的免費方案非常大方,但在靜態佈署上有一些限制:

  • 檔案數量限制:每次佈署的檔案總數上限為 20,000 個檔案
  • 單一檔案大小限制:單一檔案最大為 25 MiB

如果您的網站有大量的圖片(例如高解析度商品圖、活動影片或照片牆),這 20,000 個檔案的限制很快就會被用完。為了解決這個問題,本站強烈建議搭配外部圖床(如 Imgur、Cloudflare Images 或 AWS S3)使用。將所有圖片上傳至圖床,並在 JSON 微資料庫中只儲存圖片的網址,這樣不僅能突破 Cloudflare 的數量限制,也能加快打包速度。


系統架構對比

比較項目 傳統動態網站 (如 WordPress) Bun + Hono + Cloudflare Pages (靜態架構)
主機託管費用 每月固定支出 (NT$150 - NT$1000+) 免費 (符合 Cloudflare Pages 免費額度)
資料庫維護 需要定期備份 MySQL、防止 SQL 注入 免維護 (使用 JSON 文字檔作為資料庫)
載入延遲 (TTL) 視主機距離而定,通常需要數百毫秒 極低 (10-30毫秒),直接從全球邊緣快取下載
高流量承受度 容易因併發連線過多而當機,需加購負載均衡 極高,由 Cloudflare 全球 CDN 負載分流
更新方便性 後台登入即可修改 在本地端修改 JSON 資料後,重新編譯並上傳

非工程背景的人需要知道什麼?

對於決策者或非工程背景的網站擁有者來說,這套架構最大的吸引力在於**「維護安全」與「預算控制」**。

  • 駭客無法入侵:因為 Cloudflare Pages 上面只有純 HTML、CSS 和 JS,沒有執行任何後端程式(如 PHP),也沒有資料庫可以被灌入惡意指令,您的網站幾乎是「防彈」的,不會有被綁架或首頁被竄改的風險。
  • 零月租費:Cloudflare Pages 的免費方案提供了無限的頻寬與每月 500 次的建置次數,對於一般中小企業或個人網站來說綽綽有餘。您只需付一次開發費用給工程師,之後的營運成本僅有每年的「網域續約費」(約 NT$300-600/年)。

目前可以怎麼開始?

以下為技術團隊提供簡單的建置與佈署流程指南:

第一步:準備 JSON 微資料庫

在專案中建立一個 data/products.json 檔案,儲存您的商品資料:

[
  {
    "id": "miku-figure",
    "name": "初音未來限定模型",
    "price": 3900,
    "imageUrl": "https://img.your-storage.com/miku-figure.jpg",
    "description": "搭配霓虹青色包裝的限定版模型。"
  }
]

第二步:使用 Hono 讀取資料並生成靜態 HTML

在 Hono 專案中,撰寫程式碼來載入 JSON 並渲染網頁:

import { Hono } from 'hono'
import { html } from 'hono/html'
import products from './data/products.json'

const app = new Hono()

// 主頁:顯示商品列表 app.get('/', (c) => { return c.html( html&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt;&lt;title&gt;商品目錄&lt;/title&gt;&lt;/head&gt; &lt;body&gt; &lt;h1&gt;商品列表&lt;/h1&gt; &lt;ul&gt; ${products.map(p =&gt; html <li> <img src="${p.imageUrl}" alt="${p.name}" width="150" /> <h3>${p.name}</h3> <p>價格:NT$ ${p.price}</p> </li> )} &lt;/ul&gt; &lt;/body&gt; &lt;/html&gt; ) })

export default app

第三步:使用 Bun 進行靜態編譯 (SSG)

使用 Hono 提供的 SSG 工具,在本地端直接將網站編譯成純靜態網頁檔案(輸出至 dist 目錄):

# 安裝 Hono SSG 輔助軟體套件並編譯
bun run build

第四步:佈署至 Cloudflare Pages

  1. 註冊並登入 Cloudflare 控制台。
  2. 進入 Workers & Pages -> Create an application -> Pages
  3. 連結您的 GitHub 專案庫,或是直接使用 Cloudflare 的 CLI 工具(Wrangler)一鍵上線:
bunx wrangler pages deploy dist --project-name=my-static-site

這樣一來,您的靜態網頁專案就已經全球佈署完成!


我們的觀察

當網站的本質是「展示內容」而非「複雜的會員互動」時,動態伺服器其實是多餘的負擔。Bun + Hono + Cloudflare Pages 的靜態網站架構,不僅在效能上達到了物理極限,更將網站的安全風險與維護成本降到了零。搭配外部圖床與 JSON 微資料庫的設計,巧妙地避開了雲端平台的免費額度限制,這無疑是現代高性價比架站架構的教科書級示範。


來源

  • Cloudflare Pages 官網:https://pages.cloudflare.com/
  • Hono 靜態站點生成 (SSG) 文件:https://hono.dev/docs/getting-started/cloudflare-pages
  • 查閱日期:2026-06-15