1122 字
6 分钟
Astro 新手部署全攻略:避免常見設定錯誤與踩雷指南
針對新手在 Astro 部署時容易遇到的各種錯誤,提供詳細分析、實例與解決方案,讓你少踩坑,快速上手。
2026-01-04
🤖 AI 摘要
正在生成摘要…

Astro 新手部署全攻略:避免常見設定錯誤與踩雷指南#

對新手來說,部署 Astro 專案到 Cloudflare Pages 或使用 GitHub Actions 可能會遇到各種錯誤和困惑。
即使你只是搬官方範例,也可能因環境不同或設定疏漏而踩坑。本指南將帶你一步步檢查常見問題、分析原因、提供解決方案,並給出實務建議,保證你少走冤枉路。


1. Node / Deno 版本不匹配#

錯誤現象#

  • Build 過程中出現警告或錯誤
  • 部署成功,但網頁行為異常或無法啟動
  • 第三方套件報錯或不兼容

為什麼會出現#

Astro 官方文檔會建議使用特定 Node 版本,但:

  • 本地開發環境可能版本過舊或過新
  • CI/CD 預設 Node 環境與本地不同
  • 第三方套件可能需要特定版本支持

解決方案(Step by Step)#

Terminal window
# 確認本地 Node 版本
node -v
# 安裝官方建議版本
nvm install 20
nvm use 20
# 確認 Deno 版本(如使用)
deno --version

package.json 明確指定 Node 版本:

"engines": {
"node": ">=20"
}

延伸問題#

  • Node 版本過舊會導致部分套件編譯失敗
  • CI/CD pipeline 未同步版本,可能 build 成功,但部署失敗

實務建議#

  • 在 CI/CD workflow 中固定 Node 版本
  • 每篇文章或專案都記錄使用的 Node/Deno 版本

2. 靜態資源路徑設定錯誤#

錯誤現象#

  • 部署後 CSS / JS 無法載入
  • 圖片路徑錯誤,頁面顯示破圖
  • 在本地正常,但部署到 Cloudflare Pages 失敗

為什麼會出現#

  • Astro 預設靜態資源路徑為根目錄 /
  • 部署到子路徑或 CDN 時,未設定 base
  • 相對路徑使用不當

解決方案(Step by Step)#

astro.config.mjs
export default defineConfig({
base: '/你的路徑/'
});

或使用相對路徑:

<link rel="stylesheet" href="./styles/main.css">
<script src="./scripts/app.js"></script>

延伸問題#

  • 多環境部署(本地 / Preview / Production)路徑不一致
  • 瀏覽器快取導致資源載入舊版本

實務建議#

  • 部署前先本地 build 測試
  • 對不同環境設置環境變數管理 base path

3. GitHub Actions 部署設定缺失#

錯誤現象#

  • Workflow 跑通,但 deploy 失敗
  • 權限錯誤、Token 不存在
  • 專案預覽成功,但正式部署失敗

為什麼會出現#

  • 直接 fork 官方 workflow,未設定環境變數或 Secret
  • branch 指向錯誤或 target 不正確
  • token 過期或權限不足

解決方案(Step by Step)#

.github/workflows/deploy.yml
env:
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
  • 確保 Secret 設定正確
  • workflow branch 對應 main / production
  • 驗證 token 是否具有必要權限

延伸問題#

  • 部署到不同環境需要不同 token
  • Workflow 設計不合理可能 silent fail

實務建議#

  • 每篇文章或專案都註明 token / secret 用途
  • CI/CD log 必須檢查部署成功訊息

4. Cloudflare Pages 特定設定問題#

錯誤現象#

  • 部署成功,但功能不完整
    • Functions 路徑錯誤
    • Edge config 未正確設定
  • 預覽正常,正式部署失敗

為什麼會出現#

  • 新手依官方快速 start,忽略 production 設定
  • Edge function 或 environment variable 未正確設置

解決方案(Step by Step)#

  1. 檢查 functions 路徑,確保 Cloudflare Pages 可識別
  2. 確認 Edge config 對應環境變數
  3. 本地測試 production build
  4. 部署前檢查 log

延伸問題#

  • 多地區部署差異
  • 不同 Node 版本兼容性問題

實務建議#

  • 建立不同環境的設定檔
  • 每次部署前先做本地 build

5. 內部連結與主題權威感#

錯誤現象#

  • 新文章沒連到舊文章
  • 相同主題散落,Google 難以理解主題權威

解決方案#

  • 每篇文章至少連 2 篇舊文章
  • 舊文章補連到新文章
  • 使用長尾關鍵字作 anchor text,例如:
    • Astro 部署到 Cloudflare Pages
    • GitHub Actions workflow 配置錯誤

實務建議#

  • 強制每篇文章檢查內部連結
  • 建立站內「主題樹狀圖」,方便後續文章拓展

6. 更新文章與長期維護#

  • 隨著 Astro / Cloudflare / GitHub Actions 更新,補充文章內容
  • 每 1–3 個月檢查文章環境資訊
  • 更新後重新提交 sitemap

結論#

即使你是「搬範例」的新手,只要:

  1. 測試每個流程
  2. 記錄環境與版本
  3. 聚焦一件事、長尾主題
  4. 做好內部連結

Google 就會開始把你當「值得推薦的技術內容」。

長篇文章不只是 SEO,也能讓讀者學到真正操作過程與原理,減少踩坑、快速上手。

這篇文章是否對你有幫助?

發現錯誤或想改進此文章?

在 GitHub 上編輯此頁
Astro 新手部署全攻略:避免常見設定錯誤與踩雷指南
https://kairo.qzz.io/posts/astro/
作者
Kairo
發佈於
2026-01-04
許可協議
CC BY-NC-SA 4.0