補充講義 19W15–W18 部署時查閱// Deploy

網站部署上線:
免費託管,拿到自己的網址

做好的網站只是電腦裡的一個資料夾。把它交給託管服務(Cloudflare Pages、GitHub Pages、Netlify),就會得到一個任何人都能打開的網址,而且都有免費方案。本頁比較三家、逐步圖解 Cloudflare 後台拖曳上傳,再教你用 Wrangler 指令工具一行上傳、一行更新。

最新更新 2026 年 10 月JinJin Wang3 種免費託管指令產生器
// How it works

網址是怎麼來的:先把網站整理成一個資料夾

託管服務就是「幫你把檔案放在網路上的電腦,並給你一個網址」。不管用哪一家,上傳前都要把資料夾整理好。

STEP 1網站資料夾index.html+css、js、images,全部放在同一個資料夾。
STEP 2選託管服務Cloudflare Pages、GitHub Pages、Netlify,都有免費方案。
STEP 3上傳拖曳資料夾、打一行指令,或推到 GitHub。
STEP 4得到網址例如 island-new-wave.pages.dev,貼進作業與簡報。
1-1

你的網站是「靜態網站」

Claude 產生的 HTML/CSS/JS、你自己寫的網頁,都是靜態網站:伺服器只要把檔案原封不動送給瀏覽器就好,不需要資料庫或後端程式。這種網站放在免費託管服務上剛剛好,而且速度很快。

你的網站能不能用本頁方法說明
Claude 產生的 HTML 檔、資料夾✓ 可以直接上傳整個資料夾。
自己寫的 HTML/CSS/JS✓ 可以同上。
Figma Make 做的網站✓ 用 Make 內建 Publish 最快Make 右上角 Publish 直接得到 figma.site 網址(見 UNIT 10)。Make 專案是 React+Vite,若要放到其他平台需要先 build 出 dist 資料夾,超出本頁範圍。
需要會員登入、資料庫、金流✗ 不適合需要後端服務;課堂作業請用「示意」方式呈現,例如表單送出後只顯示成功畫面。
1-2

正確的資料夾長這樣

✓ 正確:index.html 在最外層
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/。

1-3

上傳前檢查器:貼上檔名清單,自動找問題

1-4

還沒有資料夾?請 Claude 幫你整理

Claude
請把我們剛剛完成的網站整理成可以直接上傳到靜態託管(Cloudflare Pages/GitHub Pages/Netlify)的資料夾結構: 1) 首頁命名為 index.html,放在最外層;其他頁面用英文小寫加連字號命名。 2) CSS 放 css/、JS 放 js/、圖片放 images/,所有路徑改成相對路徑。 3) 檔名不要有空格、中文、大寫字母,並同步修改 HTML 裡的引用。 4) 列出最後的資料夾樹狀圖,以及每個檔案的用途。 5) 檢查有沒有放 API 金鑰、個資或自己電腦的路徑,有的話標出來。
// Compare

三家免費方案比較:選一家就好

三家都能給你一個公開網址,差別在上傳方式與免費額度。

Cloudflare PagesGitHub PagesNetlify
網址長相專案名.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。

2-1

官方網址直達:點了就開新分頁

註冊時建議用學校信箱;登入後的後台連結才會直接進到你的帳號。Figma Make 做的網站不必另外註冊,用 Make 右上角 Publish 即可。

2-2

三題選出最適合你的方式

// Cloudflare Dashboard

Cloudflare Pages:後台拖曳上傳(不用寫指令)

最直覺的方式:在後台建立 Pages 專案,把資料夾拖進去,按 Deploy,就有 xxx.pages.dev 網址。

3-1

開始前準備

  1. 一個可以收信的 Email(用學校信箱或個人信箱都可以),先到 Cloudflare 註冊頁 建立帳號。
  2. 整理好的網站資料夾(通過 1-3 的檢查),或把它壓成 ZIP。
  3. 想好專案名稱:英文小寫、數字、連字號,會變成網址的一部分。

3-2

Cloudflare 後台逐步圖解(點左邊的步驟或按下一步)

畫面跟我看到的不一樣?

Cloudflare 常常調整後台介面,按鈕名稱可能略有不同。認準三個關鍵字(直接打開 Workers & Pages 後台):Workers & Pages → Create → Pages 分頁裡的上傳(Upload/Direct upload)。找不到時,也可以直接改用第 04 章的指令上傳,結果完全一樣。

官方說明:Pages 直接上傳、Pages limits

3-3

上傳後一定要做的三件事

  1. 用無痕視窗打開網址,確認不是因為你的電腦有快取才看起來正常。
  2. 用手機打開一次,點過每個頁面與按鈕。
  3. 把網址貼到 UNIT 12 檢核清單與 期末作業區。
// Wrangler CLI

Cloudflare 指令工具 Wrangler:一行上傳、一行更新

Wrangler 是 Cloudflare 官方的指令工具。設定一次之後,每次更新網站只要在終端機打一行指令。

4-1

為什麼要學指令?

更新只要一行

改完網站,在終端機按 ↑ 再按 Enter 就重新上線,不必再開後台拖檔。

可以先看預覽版

用 --branch preview 上傳到預覽網址,組員確認後再發正式版。

可以交給 Claude 代勞

在 Claude Code 這類能執行指令的環境,可以直接請它幫你部署(見 4-6)。

4-2

安裝 Node.js(只要做一次)

  1. 到 nodejs.org 下載 LTS 版本並安裝(一路按下一步)。
  2. 打開終端機:Mac 按 ⌘ Space 搜尋「終端機(Terminal)」;Windows 按開始鍵搜尋「PowerShell」。
  3. 輸入 node -v 按 Enter,看到 v20 以上的版本號就成功了。
不用另外安裝 Wrangler

下面的指令都用 npx wrangler …:npx 會自動下載並執行 Wrangler(Cloudflare 官方的指令工具),第一次執行會問你要不要安裝,輸入 y 即可。

4-3

指令產生器:填三個欄位,照順序複製貼上

4-4

第一次執行大概會看到什麼(示意)

$ 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 版本略有不同。

4-5

常用指令速查

我想要…指令
登入/確認是誰登入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 確認。

4-6

請 Claude 幫你部署(在能執行指令的環境)

Claude Code
請幫我把目前資料夾裡的 ./site 部署到 Cloudflare Pages: 1) 先檢查 ./site 最外層有沒有 index.html,檔名是否都是英文小寫、沒有空格。 2) 用 npx wrangler whoami 確認登入狀態;沒登入就提醒我執行 npx wrangler login(需要我在瀏覽器按 Allow)。 3) 專案名稱用 island-new-wave,不存在就先建立(production branch 用 main)。 4) 執行 npx wrangler pages deploy ./site --project-name island-new-wave。 5) 完成後告訴我正式網址,並提醒我用無痕視窗與手機各測一次。不要上傳任何 .env 或金鑰檔。
安全提醒

不要把 Cloudflare 的 API Token 貼到聊天、寫進網站檔案或上傳到 GitHub。用 wrangler login 在瀏覽器授權就好,不需要自己複製 Token。

官方說明:Wrangler Pages 指令、Workers Static Assets

// GitHub Pages

GitHub Pages:把檔案放上 GitHub,開啟 Pages

已經會用 GitHub、或想把程式碼一起公開當作品集的人適合。

  1. 到 github.com 註冊並登入。
  2. 右上角 + → New repository(或直接開 github.com/new):名稱用英文(例如 island-new-wave),選 Public,按 Create repository。
  3. 在新儲存庫頁面點 uploading an existing file(或 Add file → Upload files),把資料夾裡面的所有檔案與子資料夾拖進去(不是拖外層資料夾本身),按 Commit changes。
  4. 到儲存庫的 Settings → 左側 Pages(在 Code and automation 區)。
  5. Source 選 Deploy from a branch;Branch 選 main、資料夾選 / (root),按 Save。
  6. 等 1–2 分鐘重新整理,上方會出現 https://你的帳號.github.io/island-new-wave/,點開確認。
  7. 之後要更新:再到儲存庫上傳同名檔案覆蓋,Commit 後等一兩分鐘就會更新。
GitHub Pages 特別注意

網址多了一層 /儲存庫名稱/,所以程式裡不要用 /images/… 這種從根目錄開始的路徑,要用 images/… 相對路徑,否則圖片會全部不見。檔名大小寫也要完全一致。

官方說明:Configuring a publishing source、GitHub Pages limits

// Netlify

Netlify:拖曳一次,馬上有網址

操作最簡單,適合短期展示;免費額度比較緊。

  1. 到 app.netlify.com 註冊並登入(建議先登入再上傳,網站才會留在你的帳號裡)。
  2. 打開 Netlify Drop(app.netlify.com/drop,或在後台 Sites 頁面找拖曳上傳區)。
  3. 把網站資料夾拖進虛線框,幾秒後得到 隨機名稱.netlify.app。
  4. 到 Site configuration → Change site name,改成好記的名字。
  5. 之後要更新:在網站的 Deploys 頁面再拖一次整個資料夾。
點數制要注意

Netlify 免費方案在 2025 年改為點數制(每月 300 點),每次正式部署與流量都會扣點,用完網站會暫停到下個月。不要一直重複部署,改完一次確認好再上傳;長期使用建議改用 Cloudflare Pages。實際點數規則請以 Netlify 官方價格頁為準。

官方說明:Netlify Docs、Netlify Drop

// Troubleshooting

常見問題:上傳了卻打不開?

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 章的後台拖曳上傳即可,不需要安裝任何東西。

// Checklist

交付檢核:網址上線後確認這八件事

部署不是最後一天才做的事:W15 就先上傳一次(就算還沒做完),之後每次更新都重新部署,期末前才不會手忙腳亂。