筆記:發布React SPA網站於Azure Static Web Apps與設定

我們只要在Azure Portal點幾下就可以和github中的repo連結起來,自動會加上github action去協助我們發布到Azure Static Web Apps中。關於Azure Static Web Apps我推薦參考這篇的圖文教學,照著做就能完成。

Azure的這個功能就是透過git加上一個commit,放上github action的yml設定

.github/workflows/azure-static-web-apps-{你的static web apps專案}.yml

相關的參數細節在這份官方文件有提到

我們需要了解的就是以下三個參數

  • app_location  這部份是react程式的根目錄位置,對我來說就是/
  • api_location 這部份若有用Azure function開後端API就會要設定目錄位置,我沒用到
  • output_location  這部份就是react編譯後的輸出位置,對我來說就是dist


Troubleshooting

由於React常用於SPA網站,在使用route時若有404 not found的狀況,在傳統解法是透過修改http server的設定檔都導向React首頁。這部份在Azure Static Web Apps中可以參考加入rewrite設定至我們的react首頁

https://docs.microsoft.com/en-us/azure/static-web-apps/configuration

舉例來說

{
"navigationFallback": {
"rewrite": "/index.html",
"exclude": [
"/images/*.{png,jpg,gif}",
"/css/*"
]
}
}


其他

Azure官方針對react也有自己的教學文件

快速入門:使用 Azure CLI 建立您的第一個靜態網站


留言