<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>部署 on EricChung的程式勇者村</title><link>https://ericchung24.github.io/blog/tags/%E9%83%A8%E7%BD%B2/</link><description>Recent content in 部署 on EricChung的程式勇者村</description><generator>Hugo -- gohugo.io</generator><language>zh-tw</language><lastBuildDate>Fri, 17 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ericchung24.github.io/blog/tags/%E9%83%A8%E7%BD%B2/index.xml" rel="self" type="application/rss+xml"/><item><title>新手第十二步：GitHub Pages 部署　免費讓你的網站上線，讓全世界看到！</title><link>https://ericchung24.github.io/blog/p/%E6%96%B0%E6%89%8B%E7%AC%AC%E5%8D%81%E4%BA%8C%E6%AD%A5github-pages-%E9%83%A8%E7%BD%B2-%E5%85%8D%E8%B2%BB%E8%AE%93%E4%BD%A0%E7%9A%84%E7%B6%B2%E7%AB%99%E4%B8%8A%E7%B7%9A%E8%AE%93%E5%85%A8%E4%B8%96%E7%95%8C%E7%9C%8B%E5%88%B0/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://ericchung24.github.io/blog/p/%E6%96%B0%E6%89%8B%E7%AC%AC%E5%8D%81%E4%BA%8C%E6%AD%A5github-pages-%E9%83%A8%E7%BD%B2-%E5%85%8D%E8%B2%BB%E8%AE%93%E4%BD%A0%E7%9A%84%E7%B6%B2%E7%AB%99%E4%B8%8A%E7%B7%9A%E8%AE%93%E5%85%A8%E4%B8%96%E7%95%8C%E7%9C%8B%E5%88%B0/</guid><description>&lt;img src="https://pages.github.com/images/logo.svg" alt="Featured image of post 新手第十二步：GitHub Pages 部署　免費讓你的網站上線，讓全世界看到！" /&gt;&lt;p&gt;你辛苦做好的網站，現在只能在自己電腦上看。把網址傳給朋友，他們看到的是一片空白。&lt;/p&gt;
&lt;p&gt;這篇要解決這個問題——用 &lt;strong&gt;GitHub Pages&lt;/strong&gt;，完全免費，讓你的網站有一個真正的網址，任何人在任何地方都能打開。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="1-github-pages-是什麼"&gt;1. GitHub Pages 是什麼？
&lt;/h2&gt;&lt;p&gt;GitHub Pages 是 GitHub 提供的&lt;strong&gt;免費靜態網站托管服務&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;你把程式碼推到 GitHub 上，GitHub 自動幫你把網站掛到網路上，給你一個這樣格式的網址：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;https://你的帳號.github.io/你的專案名稱/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;它的限制：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;只能放&lt;strong&gt;靜態網站&lt;/strong&gt;（HTML、CSS、JS）&lt;/li&gt;
&lt;li&gt;不能跑後端程式（PHP、Node.js 伺服器端）&lt;/li&gt;
&lt;li&gt;儲存庫必須是 &lt;strong&gt;Public（公開）&lt;/strong&gt; 才能免費使用&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;對於前端新手來說，這些限制根本不是問題，靜態網站就夠了。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="2-方法一部署純-html-靜態網頁最簡單"&gt;2. 方法一：部署純 HTML 靜態網頁（最簡單）
&lt;/h2&gt;&lt;p&gt;這是給剛學完 HTML/CSS/JS，還沒用 Vite 的新手。&lt;/p&gt;
&lt;h3 id="step-1建立-github-儲存庫"&gt;Step 1：建立 GitHub 儲存庫
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;登入 GitHub，點擊右上角 &lt;strong&gt;「+」→「New repository」&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Repository name 輸入：&lt;code&gt;portfolio&lt;/code&gt;（或任何名稱）&lt;/li&gt;
&lt;li&gt;選擇 &lt;strong&gt;Public&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;點擊 &lt;strong&gt;「Create repository」&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="step-2把你的網站推上去"&gt;Step 2：把你的網站推上去
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; your-project-folder
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git init
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;初次部署個人作品集&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git branch -M main
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git remote add origin https://github.com/你的帳號/portfolio.git
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push -u origin main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="step-3開啟-github-pages"&gt;Step 3：開啟 GitHub Pages
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;進入你的 GitHub 儲存庫頁面&lt;/li&gt;
&lt;li&gt;點擊上方的 &lt;strong&gt;「Settings」&lt;/strong&gt;（齒輪圖示）&lt;/li&gt;
&lt;li&gt;左側選單找到 &lt;strong&gt;「Pages」&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;在 &lt;strong&gt;「Branch」&lt;/strong&gt; 欄位選擇 &lt;strong&gt;&lt;code&gt;main&lt;/code&gt;&lt;/strong&gt;，資料夾選 &lt;strong&gt;&lt;code&gt;/ (root)&lt;/code&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;點擊 &lt;strong&gt;「Save」&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;等待約 1~2 分鐘，重新整理頁面，你會看到：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Your site is live at https://你的帳號.github.io/portfolio/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;點進去，你的網站上線了！&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="3-方法二部署-vite-專案進階版"&gt;3. 方法二：部署 Vite 專案（進階版）
&lt;/h2&gt;&lt;p&gt;用 Vite 建立的 Vue / React 專案，不能直接部署原始碼，需要先**打包（build）**成靜態檔案，再部署打包後的結果。&lt;/p&gt;
&lt;h3 id="step-1設定-vite-的-base-路徑"&gt;Step 1：設定 Vite 的 &lt;code&gt;base&lt;/code&gt; 路徑
&lt;/h3&gt;&lt;p&gt;打開 &lt;code&gt;vite.config.js&lt;/code&gt;，加入 &lt;code&gt;base&lt;/code&gt; 設定：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;defineConfig&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;vite&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;vue&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;@vitejs/plugin-vue&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;defineConfig&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;plugins&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;vue&lt;/span&gt;&lt;span class="p"&gt;()],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;base&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/你的專案名稱/&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// ← 加入這行，名稱要和 GitHub repo 名稱一致
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;為什麼需要這個？因為 GitHub Pages 的網址是 &lt;code&gt;/專案名稱/&lt;/code&gt; 開頭，不設定的話圖片和 JS 會找不到路徑。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="step-2在本地測試打包結果"&gt;Step 2：在本地測試打包結果
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm run build
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm run preview
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;打開 &lt;code&gt;http://localhost:4173/你的專案名稱/&lt;/code&gt;，確認打包後的頁面正常。&lt;/p&gt;
&lt;h3 id="step-3使用-github-actions-自動部署"&gt;Step 3：使用 GitHub Actions 自動部署
&lt;/h3&gt;&lt;p&gt;這是最推薦的方式——每次你 &lt;code&gt;git push&lt;/code&gt;，GitHub 自動幫你重新打包並部署，完全不需要手動操作。&lt;/p&gt;
&lt;p&gt;在專案根目錄建立以下路徑的檔案：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.github/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;└── workflows/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └── deploy.yml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;.github/workflows/deploy.yml&lt;/code&gt; 的內容：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;span class="lnt"&gt;21
&lt;/span&gt;&lt;span class="lnt"&gt;22
&lt;/span&gt;&lt;span class="lnt"&gt;23
&lt;/span&gt;&lt;span class="lnt"&gt;24
&lt;/span&gt;&lt;span class="lnt"&gt;25
&lt;/span&gt;&lt;span class="lnt"&gt;26
&lt;/span&gt;&lt;span class="lnt"&gt;27
&lt;/span&gt;&lt;span class="lnt"&gt;28
&lt;/span&gt;&lt;span class="lnt"&gt;29
&lt;/span&gt;&lt;span class="lnt"&gt;30
&lt;/span&gt;&lt;span class="lnt"&gt;31
&lt;/span&gt;&lt;span class="lnt"&gt;32
&lt;/span&gt;&lt;span class="lnt"&gt;33
&lt;/span&gt;&lt;span class="lnt"&gt;34
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Deploy to GitHub Pages&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;on&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;push&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;branches&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;main &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 只有推送到 main 分支時才觸發&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;jobs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;deploy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;runs-on&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;ubuntu-latest&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;permissions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;contents&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;write&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;steps&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Checkout&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;uses&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;actions/checkout@v4&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Setup Node.js&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;uses&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;actions/setup-node@v4&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;with&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;node-version&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;20&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;cache&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;npm&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Install dependencies&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;npm install&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Build&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;npm run build&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Deploy to GitHub Pages&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;uses&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;peaceiris/actions-gh-pages@v4&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;with&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;github_token&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;${{ secrets.GITHUB_TOKEN }}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;publish_dir&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./dist&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="step-4推上-github-觸發自動部署"&gt;Step 4：推上 GitHub 觸發自動部署
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;設定 GitHub Actions 自動部署&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="step-5在-github-設定-pages-來源"&gt;Step 5：在 GitHub 設定 Pages 來源
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;進入 GitHub 儲存庫的 &lt;strong&gt;Settings → Pages&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Branch&lt;/strong&gt; 改選 &lt;strong&gt;&lt;code&gt;gh-pages&lt;/code&gt;&lt;/strong&gt;（GitHub Actions 會自動建立這個分支）&lt;/li&gt;
&lt;li&gt;點擊 &lt;strong&gt;Save&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;等待 1~3 分鐘，你的 Vite 專案就上線了！&lt;/p&gt;
&lt;p&gt;之後每次 &lt;code&gt;git push&lt;/code&gt; 到 &lt;code&gt;main&lt;/code&gt;，GitHub Actions 自動重新部署，完全不需要你做任何額外動作。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="4-查看部署狀態"&gt;4. 查看部署狀態
&lt;/h2&gt;&lt;p&gt;怎麼知道部署有沒有成功？&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;進入 GitHub 儲存庫頁面&lt;/li&gt;
&lt;li&gt;點擊上方的 &lt;strong&gt;「Actions」&lt;/strong&gt; 分頁&lt;/li&gt;
&lt;li&gt;你會看到每一次觸發的部署流程，綠色勾勾 ✅ 代表成功，紅色叉叉 ❌ 代表有錯誤&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;點進去可以看到詳細的 log，方便排查問題。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="5-自訂網域選用讓網址更專業"&gt;5. 自訂網域（選用）：讓網址更專業
&lt;/h2&gt;&lt;p&gt;預設的網址是 &lt;code&gt;你的帳號.github.io/專案名稱&lt;/code&gt;，如果你買了自己的網域（例如 &lt;code&gt;ericweb.com&lt;/code&gt;），可以設定讓 GitHub Pages 使用你的網域。&lt;/p&gt;
&lt;h3 id="step-1在-github-pages-設定自訂網域"&gt;Step 1：在 GitHub Pages 設定自訂網域
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;Settings → Pages → Custom domain&lt;/li&gt;
&lt;li&gt;輸入你的網域（例如 &lt;code&gt;www.ericweb.com&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;勾選 &lt;strong&gt;「Enforce HTTPS」&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="step-2在你的網域服務商設定-dns"&gt;Step 2：在你的網域服務商設定 DNS
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;如果用 &lt;code&gt;www&lt;/code&gt; 子網域（建議）：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;新增一筆 &lt;code&gt;CNAME&lt;/code&gt; 紀錄：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;類型: CNAME
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;名稱: www
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;值: 你的帳號.github.io
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;如果用根網域（例如直接 &lt;code&gt;ericweb.com&lt;/code&gt;）：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;新增四筆 &lt;code&gt;A&lt;/code&gt; 紀錄：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;類型: A
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;名稱: @
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;值: 185.199.108.153
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 185.199.109.153
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 185.199.110.153
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 185.199.111.153
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;DNS 生效需要幾分鐘到數小時，生效後你的網域就會指向 GitHub Pages 的內容。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="6-常見問題排查"&gt;6. 常見問題排查
&lt;/h2&gt;&lt;h3 id="網站打開是空白的--404"&gt;網站打開是空白的 / 404
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;確認 &lt;code&gt;vite.config.js&lt;/code&gt; 的 &lt;code&gt;base&lt;/code&gt; 路徑和 GitHub repo 名稱&lt;strong&gt;完全一致&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;確認 GitHub Pages 設定的 Branch 是否正確（靜態網站選 &lt;code&gt;main&lt;/code&gt;，Vite 專案選 &lt;code&gt;gh-pages&lt;/code&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="圖片顯示不出來"&gt;圖片顯示不出來
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;檢查圖片路徑是否使用&lt;strong&gt;相對路徑&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;放在 &lt;code&gt;public/&lt;/code&gt; 資料夾的圖片，在程式碼裡用 &lt;code&gt;/圖片名稱.jpg&lt;/code&gt; 引用&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="github-actions-部署失敗"&gt;GitHub Actions 部署失敗
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;點進 Actions 頁面查看錯誤訊息&lt;/li&gt;
&lt;li&gt;最常見原因：&lt;code&gt;npm install&lt;/code&gt; 失敗（&lt;code&gt;package.json&lt;/code&gt; 有問題）或 &lt;code&gt;npm run build&lt;/code&gt; 有語法錯誤&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="更新了程式碼但網站沒變"&gt;更新了程式碼但網站沒變
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;GitHub Pages 有快取，等待幾分鐘再重新整理&lt;/li&gt;
&lt;li&gt;或按 &lt;code&gt;Ctrl + Shift + R&lt;/code&gt;（強制重新整理，清除瀏覽器快取）&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="7-完整部署流程速查"&gt;7. 完整部署流程速查
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;靜態 HTML 網站
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;──────────────
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git init → git add . → git commit → git push
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ GitHub Settings → Pages → 選 main 分支 → 完成
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Vite 專案
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;──────────
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1. vite.config.js 加入 base: &amp;#39;/repo名稱/&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2. 建立 .github/workflows/deploy.yml
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;3. git add . → git commit → git push
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;4. GitHub Settings → Pages → 選 gh-pages 分支 → 完成
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;5. 往後每次 git push 自動重新部署
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="8-給新手的實戰練習"&gt;8. 給新手的實戰練習
&lt;/h2&gt;&lt;p&gt;把你之前做的作品集網頁部署上 GitHub Pages：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;確認你的 &lt;code&gt;index.html&lt;/code&gt; 在專案的根目錄&lt;/li&gt;
&lt;li&gt;確認有 &lt;code&gt;.gitignore&lt;/code&gt;，排除 &lt;code&gt;node_modules/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;執行部署流程&lt;/li&gt;
&lt;li&gt;把網址傳給朋友，讓他們幫你看看！&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="結語你的作品現在活在網路上了"&gt;結語：你的作品現在活在網路上了
&lt;/h2&gt;&lt;p&gt;從今天起，你做的每一個前端作品都可以有一個真實的網址：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;求職時附在履歷上&lt;/li&gt;
&lt;li&gt;貼在社群媒體讓更多人看到&lt;/li&gt;
&lt;li&gt;傳給朋友炫耀&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;GitHub Pages 是你踏入真實世界的第一步。免費、穩定、和 Git 工作流程無縫整合——沒有理由不用。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;接下來你可以做什麼？&lt;/strong&gt;
你已經學完了前端開發的完整路徑，從 HTML 到 Vite，從 Git 到部署。接下來我們要進入一個讓很多人又愛又怕的主題：&lt;strong&gt;JavaScript 非同步（Async / Await）與 API 串接&lt;/strong&gt;——讓你的網頁能從後端取得真實資料，做出動態內容！&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;準備好讓網頁和真實資料連接了嗎？下一篇見！&lt;/strong&gt;&lt;/p&gt;</description></item></channel></rss>