Sean's Blog

An image showing avatar

Hi, I'm Sean

這裡記錄我學習網站開發的筆記
歡迎交流 (ゝ∀・)b

LinkedInGitHub

Deploying React Apps over Firebase Hosting

有很多做法能夠部署 React 專案,本文會介紹如何透過 Firebase Hosting 這項服務來部署一個 SPA 專案。

Upload Production Code to Server

任何 SPA 框架 Build 出來的都是一個 Static Website,意思就是網站是由 HTML、CSS,以及 Client Side 的 JavaScript React Code 所組成,並沒有需要在 Server 執行的 JavaScript Code。

因此,我們需要的是一個 Static Site Host,例如:Google Cloud、AWS、Firebase。

這裡會用 Firebase 為例,我們除了用它來開設 API 之外,也能用 Firebase 提供的 Hosting 服務部署專案。

Firebase Hosting

在專案下建立 Firebase 設定

1firebase init
2

一開始輸入 firebase init 進入專案設定後,會有一個問題是「Configure as a single-page app (rewrite all urls to /index.html)?」這是在詢問是否配置的是 SPA 專案。

這裡選擇 "Yes" 讓所有頁面都使用 index.html 作為進入點,而這就是 SPA 在做的事情。我們是透過 React Router 去定義路由,所有頁面其實都是同一個 HTML 檔案,我們是透過 Router 的切換讓頁面呈現的內容改變。

部署專案

完成上面的步驟後,專案目錄會多一個 firebase config 檔案,接下來就能打包我們的專案,然後執行 Deploy 的動作哩。

1npm run build
2firebase deploy
3

完成後應該會顯示部署的網址,也可以到 Firebase Console 裡面查看。

最後,如果要下架已部署的專案,可以輸入 firebase hosting:disable 指令。

回顧

看完這篇文章,我們到底有什麼收穫呢?藉由本文可以理解到…

  • Upload Production Code to Firebase Hosting Service

References