Skip to main content

Firebase功能:Hosting

步驟1:設定 Firebase 專案

  1. 前往 Firebase Console

    • 打開 Firebase Console

    • 點擊「新增專案」(Add Project),輸入專案名稱(例如 my-vite-react-app),然後按「繼續」。

    • 如果不需要 Google Analytics,可以關閉此選項,然後點擊「建立專案」。

  2. 註冊 Web 應用程式

    • 在 Firebase Console 的專案總覽頁面,點擊「Web」圖標(看起來像 </>)。

    • 輸入應用程式名稱(例如 my-app),然後點擊「註冊應用程式」。

    • 你會看到一組 Firebase 配置資訊(firebaseConfig),請先複製並保存,稍後會用到。範例如下:

      const firebaseConfig = {
      apiKey: "YOUR_API_KEY",
      authDomain: "YOUR_PROJECT_ID.firebaseapp.com",
      projectId: "YOUR_PROJECT_ID",
      storageBucket: "YOUR_PROJECT_ID.appspot.com",
      messagingSenderId: "YOUR_MESSAGING_SENDER_ID",
      appId: "YOUR_APP_ID"
      };

步驟 2:安裝 Firebase CLI

Firebase CLI 是用來管理 Firebase 專案和部署的工具。請按照以下步驟安裝:

  1. 在終端機中,全域安裝 Firebase CLI:

    npm install -g firebase-tools
  2. 登入 Firebase 帳號:

    • 這會開啟瀏覽器,要求你使用 Google 帳號登入。請使用與 Firebase 專案相同的帳號。

    • 成功登入後,終端機會顯示「Success」訊息。


步驟 3:在專案中初始化 Firebase

  1. 在你的 Vite + React 專案根目錄中,輸入以下指令來初始化 Firebase:

  2. 按以下步驟回答 Firebase CLI 的問題:

    • Which Firebase features do you want to set up?

      • 使用方向鍵移動到「Hosting: Configure files for Firebase Hosting」,按「空格鍵」選取(會出現 * 標記),然後按「Enter」。
    • Please select an option:

      • 選擇「Use an existing project」,然後從列表中選取你剛剛在 Firebase Console 建立的專案(例如 my-vite-react-app)。
    • What do you want to use as your public directory?

      • 輸入 dist(因為 Vite 的建置輸出資料夾是 dist),然後按「Enter」。
    • Configure as a single-page app (rewrite all URLs to /index.html)?

      • 輸入 Yes,因為 React 是單頁應用(SPA),需要將所有路由重定向到 index.html。
    • Set up automatic builds and deploys with GitHub?

      • 如果你不使用 GitHub Actions,可以選擇 No。
    • File dist/index.html already exists. Overwrite?

      • 選擇 No,避免覆蓋現有檔案。
  3. 初始化完成後,專案根目錄會生成以下兩個檔案:

    • firebase.json:設定 Firebase Hosting 的配置。

    • .firebaserc:記錄你的 Firebase 專案資訊。

    檢查 firebase.json,內容應類似以下:

    {
    "hosting": {
    "public": "dist",
    "ignore": [
    "firebase.json",
    "**/.*",
    "**/node_modules/**"
    ],
    "rewrites": [
    {
    "source": "**",
    "destination": "/index.html"
    }
    ]
    }
    }

步驟 4:建置 Vite 專案

Firebase Hosting 需要部署建置後的靜態檔案,因此你需要先建置你的 Vite 專案。

  1. 在專案根目錄執行以下指令:

    npm run build
    • 這會生成一個 dist 資料夾,包含你的 React 應用程式的靜態檔案(例如 index.html、CSS 和 JavaScript 檔案)。
  2. 確認 dist 資料夾是否正確生成,裡面應該包含 index.html 和其他資源。


步驟 5:部署到 Firebase Hosting

  1. 在專案根目錄執行以下指令來部署:

    firebase deploy
  2. 部署完成後,Firebase CLI 會提供一個 Hosting URL(例如 https://my-vite-react-app.web.app)。你可以在瀏覽器中開啟這個 URL,檢查你的 React 應用程式是否成功上線。


步驟 6:更新和重新部署

當你修改了 React 專案的程式碼後,需要重新建置並部署:

  1. 修改程式碼後,重新執行建置:

    npm install firebase
  2. 再次部署:

    firebase deploy

常見問題與錯誤處理

  1. 錯誤:找不到 dist 資料夾

    • 確保你已經執行 npm run build,並檢查 dist 資料夾是否生成。

    • 確認 firebase.json 中的 public 欄位是否設為 dist。

  2. 部署後頁面空白

    • 檢查 firebase.json 中的 rewrites 是否正確設定為:

      "rewrites": [
      {
      "source": "**",
      "destination": "/index.html"
      }
      ]
    • 確保你的 React 應用程式使用了 react-router-dom(如果有路由需求),並正確配置。

  3. Firebase API Key 暴露問題

    • Firebase 的 API Key 可以安全地放在前端程式碼中,因為 Firebase 的安全性依賴於後端的「安全規則」(Security Rules)。請確保你的 Firebase 資料庫或儲存桶已設定適當的規則。