網址是怎麼來的:先把網站整理成一個資料夾
託管服務就是「幫你把檔案放在網路上的電腦,並給你一個網址」。不管用哪一家,上傳前都要把資料夾整理好。
island-new-wave.pages.dev,貼進作業與簡報。你的網站是「靜態網站」
Claude 產生的 HTML/CSS/JS、你自己寫的網頁,都是靜態網站:伺服器只要把檔案原封不動送給瀏覽器就好,不需要資料庫或後端程式。這種網站放在免費託管服務上剛剛好,而且速度很快。
| 你的網站 | 能不能用本頁方法 | 說明 |
|---|---|---|
| Claude 產生的 HTML 檔、資料夾 | ✓ 可以 | 直接上傳整個資料夾。 |
| 自己寫的 HTML/CSS/JS | ✓ 可以 | 同上。 |
| Figma Make 做的網站 | ✓ 用 Make 內建 Publish 最快 | Make 右上角 Publish 直接得到 figma.site 網址(見 UNIT 10)。Make 專案是 React+Vite,若要放到其他平台需要先 build 出 dist 資料夾,超出本頁範圍。 |
| 需要會員登入、資料庫、金流 | ✗ 不適合 | 需要後端服務;課堂作業請用「示意」方式呈現,例如表單送出後只顯示成功畫面。 |
正確的資料夾長這樣
site/ # ← 上傳「這一層」 ├── index.html # 首頁,一定叫 index.html ├── trips.html ├── booking.html ├── css/ │ └── style.css ├── js/ │ └── main.js └── images/ ├── hero.webp └── trip-01.jpg
my-project/
└── site/
└── Index.HTML # 大寫、又多包一層
images/Trip 01.JPG # 空格+大寫
C:\Users\me\hero.jpg # 程式裡寫了自己電腦的路徑
設計稿.psd # 原始檔不用上傳① 首頁檔名一定是 index.html,放在上傳資料夾的最外層。② 檔名用英文小寫+連字號,不要空格、不要中文。③ 程式裡的路徑寫成 images/hero.jpg 這種相對路徑,不要出現 C:\ 或 /Users/。
上傳前檢查器:貼上檔名清單,自動找問題
還沒有資料夾?請 Claude 幫你整理
三家免費方案比較:選一家就好
三家都能給你一個公開網址,差別在上傳方式與免費額度。
| Cloudflare Pages | GitHub Pages | Netlify | |
|---|---|---|---|
| 網址長相 | 專案名.pages.dev | 帳號.github.io/儲存庫 | 網站名.netlify.app |
| 上傳方式 | 後台拖曳、Wrangler 指令、連 GitHub | 推到 GitHub(網頁上也能拖檔上傳) | Netlify Drop 拖曳、CLI、連 Git |
| 免費額度(2026 年資料,以官方公告為準) | 靜態檔案流量不限;每站最多 20,000 個檔案、單檔 25 MiB;連 Git 自動建置每月 500 次 | 網站大小 1 GB;每月流量軟上限 100 GB;每小時建置 10 次 | 改成點數制:每月 300 點,正式部署一次約 15 點、流量每 GB 約 20 點;點數用完網站會暫停到下個月 |
| 需要信用卡嗎 | 不需要 | 不需要 | 不需要 |
| 最適合 | 本課推薦:拖曳最直覺,指令更新最快 | 已經會 Git、想把程式碼也公開 | 只想拖一次、短期展示 |
| 要注意 | Cloudflare 對「新專案」現在推薦用 Workers(見 4-5),Pages 仍可正常使用 | 免費帳號的儲存庫要設成 Public;網址含儲存庫名稱 | 更新太頻繁或流量大會很快用完點數 |
課堂作業優先用 Cloudflare Pages:免費額度最寬鬆、不用信用卡、可以拖曳也可以用指令。已經在用 GitHub 的組別用 GitHub Pages 也很好。Figma Make 的網站直接用 Make 的 Publish。
官方網址直達:點了就開新分頁
專案名.pages.dev帳號.github.io/儲存庫註冊時建議用學校信箱;登入後的後台連結才會直接進到你的帳號。Figma Make 做的網站不必另外註冊,用 Make 右上角 Publish 即可。
三題選出最適合你的方式
Cloudflare Pages:後台拖曳上傳(不用寫指令)
最直覺的方式:在後台建立 Pages 專案,把資料夾拖進去,按 Deploy,就有 xxx.pages.dev 網址。
開始前準備
- 一個可以收信的 Email(用學校信箱或個人信箱都可以),先到 Cloudflare 註冊頁 建立帳號。
- 整理好的網站資料夾(通過 1-3 的檢查),或把它壓成 ZIP。
- 想好專案名稱:英文小寫、數字、連字號,會變成網址的一部分。
Cloudflare 後台逐步圖解(點左邊的步驟或按下一步)
Cloudflare 常常調整後台介面,按鈕名稱可能略有不同。認準三個關鍵字(直接打開 Workers & Pages 後台):Workers & Pages → Create → Pages 分頁裡的上傳(Upload/Direct upload)。找不到時,也可以直接改用第 04 章的指令上傳,結果完全一樣。
官方說明:Pages 直接上傳、Pages limits
上傳後一定要做的三件事
- 用無痕視窗打開網址,確認不是因為你的電腦有快取才看起來正常。
- 用手機打開一次,點過每個頁面與按鈕。
- 把網址貼到 UNIT 12 檢核清單與 期末作業區。
Cloudflare 指令工具 Wrangler:一行上傳、一行更新
Wrangler 是 Cloudflare 官方的指令工具。設定一次之後,每次更新網站只要在終端機打一行指令。
為什麼要學指令?
改完網站,在終端機按 ↑ 再按 Enter 就重新上線,不必再開後台拖檔。
用 --branch preview 上傳到預覽網址,組員確認後再發正式版。
在 Claude Code 這類能執行指令的環境,可以直接請它幫你部署(見 4-6)。
安裝 Node.js(只要做一次)
- 到 nodejs.org 下載 LTS 版本並安裝(一路按下一步)。
- 打開終端機:Mac 按
⌘ Space搜尋「終端機(Terminal)」;Windows 按開始鍵搜尋「PowerShell」。 - 輸入
node -v按 Enter,看到v20以上的版本號就成功了。
下面的指令都用 npx wrangler …:npx 會自動下載並執行 Wrangler(Cloudflare 官方的指令工具),第一次執行會問你要不要安裝,輸入 y 即可。
指令產生器:填三個欄位,照順序複製貼上
第一次執行大概會看到什麼(示意)
$ npx wrangler login (瀏覽器打開 Cloudflare 授權頁 → 按 Allow) Successfully logged in. $ npx wrangler pages project create island-new-wave --production-branch main ✨ Successfully created the 'island-new-wave' project. $ npx wrangler pages deploy ./site --project-name island-new-wave Uploading... (18/18) ✨ Success! Uploaded 18 files ✨ Deployment complete! Take a peek over at https://xxxxxxxx.island-new-wave.pages.dev
最後一行的網址前面多了一串亂碼,那是這一次部署的專屬網址;正式網址是 https://island-new-wave.pages.dev,兩個都打得開。實際文字依 Wrangler 版本略有不同。
常用指令速查
| 我想要… | 指令 |
|---|---|
| 登入/確認是誰登入 | npx wrangler login/npx wrangler whoami |
| 看我有哪些 Pages 專案 | npx wrangler pages project list |
| 發佈(更新網站) | npx wrangler pages deploy ./site --project-name 專案名 |
| 看歷史部署紀錄 | npx wrangler pages deployment list --project-name 專案名 |
| 在自己電腦先預覽 | npx wrangler pages dev ./site |
| 登出(用學校公用電腦時) | npx wrangler logout |
| 看所有參數說明 | npx wrangler pages deploy --help |
W進階:Cloudflare 官方現在推薦的 Workers(Static Assets)
Cloudflare 的文件目前建議新專案改用 Workers 的 Static Assets 來放靜態網站;Pages 仍然可以使用,既有網站不需要搬家。兩者對課堂作業的效果幾乎一樣,本頁以 Pages 為主是因為後台拖曳最直覺。想試 Workers 可以用:
$ npx wrangler deploy --assets ./site --name island-new-wave --compatibility-date 2026-10-01 # 網址會是 island-new-wave.你的帳號子網域.workers.dev
參數可能隨版本調整,執行前用 npx wrangler deploy --help 確認。
請 Claude 幫你部署(在能執行指令的環境)
不要把 Cloudflare 的 API Token 貼到聊天、寫進網站檔案或上傳到 GitHub。用 wrangler login 在瀏覽器授權就好,不需要自己複製 Token。
GitHub Pages:把檔案放上 GitHub,開啟 Pages
已經會用 GitHub、或想把程式碼一起公開當作品集的人適合。
- 到 github.com 註冊並登入。
- 右上角 + → New repository(或直接開 github.com/new):名稱用英文(例如
island-new-wave),選 Public,按 Create repository。 - 在新儲存庫頁面點 uploading an existing file(或 Add file → Upload files),把資料夾裡面的所有檔案與子資料夾拖進去(不是拖外層資料夾本身),按 Commit changes。
- 到儲存庫的 Settings → 左側 Pages(在 Code and automation 區)。
- Source 選 Deploy from a branch;Branch 選 main、資料夾選 / (root),按 Save。
- 等 1–2 分鐘重新整理,上方會出現
https://你的帳號.github.io/island-new-wave/,點開確認。 - 之後要更新:再到儲存庫上傳同名檔案覆蓋,Commit 後等一兩分鐘就會更新。
網址多了一層 /儲存庫名稱/,所以程式裡不要用 /images/… 這種從根目錄開始的路徑,要用 images/… 相對路徑,否則圖片會全部不見。檔名大小寫也要完全一致。
Netlify:拖曳一次,馬上有網址
操作最簡單,適合短期展示;免費額度比較緊。
- 到 app.netlify.com 註冊並登入(建議先登入再上傳,網站才會留在你的帳號裡)。
- 打開 Netlify Drop(app.netlify.com/drop,或在後台 Sites 頁面找拖曳上傳區)。
- 把網站資料夾拖進虛線框,幾秒後得到
隨機名稱.netlify.app。 - 到 Site configuration → Change site name,改成好記的名字。
- 之後要更新:在網站的 Deploys 頁面再拖一次整個資料夾。
Netlify 免費方案在 2025 年改為點數制(每月 300 點),每次正式部署與流量都會扣點,用完網站會暫停到下個月。不要一直重複部署,改完一次確認好再上傳;長期使用建議改用 Cloudflare Pages。實際點數規則請以 Netlify 官方價格頁為準。
官方說明:Netlify Docs、Netlify Drop
常見問題:上傳了卻打不開?
Q打開網址是 404 或空白
最常見原因:最外層沒有 index.html(可能叫 Index.html、home.html,或多包了一層資料夾)。用 1-3 檢查器確認後重新上傳。
Q網頁有出來,但圖片或樣式不見
① 大小寫不一致(電腦上 OK、線上分大小寫);② 路徑寫成 C:\… 或 /Users/…;③ GitHub Pages 用了 /images/ 開頭的路徑。打開瀏覽器開發者工具的 Console,紅字會告訴你哪個檔案找不到。
Q我更新了,可是網站還是舊的
瀏覽器快取:按 ⌘⇧R(Windows:Ctrl+F5)強制重新整理,或用無痕視窗開。Cloudflare 也要確認是部署到正式分支(main)。
Q表單按送出沒反應
靜態網站沒有後端,不會真的寄出資料。課堂作業可以只顯示「送出成功」畫面;真的要收資料,可以嵌入 Google 表單或使用表單代收服務。
Q網址太長太醜,可以改嗎?
Cloudflare:建立時的專案名稱就是網址,想改就建立新專案再上傳一次;Netlify 可以直接改 site name;GitHub 改儲存庫名稱。
Q中文檔名可以嗎?
可以運作,但網址會變成 %E5%B3%B6… 這種編碼,分享時很難看也容易出錯,建議全部改成英文。
Q網站裡有我的電話、Email、API 金鑰,怎麼辦?
上傳後全世界都看得到原始碼。真實個資請改成示意資料;任何金鑰都不要放在網站檔案裡。
Q學校電腦沒辦法安裝 Node.js
用第 03 章的後台拖曳上傳即可,不需要安裝任何東西。
交付檢核:網址上線後確認這八件事
部署不是最後一天才做的事:W15 就先上傳一次(就算還沒做完),之後每次更新都重新部署,期末前才不會手忙腳亂。