9-1.Angular 入門教學 - 發佈、部署到伺服器上

Angular 入門教學


整個Angular專案寫完了,接著要放到伺服器上面了

那這個時候我們就要將我們的專案做一個打包,使用以下的指令

npm run build

就會開始跑打包,跑完之後會回到可輸入指令的狀態

接著我們打包後的檔案產生在哪個位置?

我們可以先看到angular.json,找到以下部分

"outputPath": "dist/todo"

這就是打包輸出的位置,你可以改成你自己想要的位置

接著我們把打包後的檔案copy到你的伺服器上即可

接著就可以試試看網站有沒有正常運作

進來了,會發現似乎沒有問題,但其實如果你後端沒有經驗而沒有做出設定,很可能出現以下情況

試著重新整理看看,會發現變成404

這是為什麼呢?其實很簡單的道理

第一次的requset是跟後端發起的,但你後端其實並沒有這個網址

這個網址是前端也就是Angular用路由產生的,所以你跟後端要求這個網址,當然是找不到網頁

官網伺服器端配置也有提供一些後端語言的設置語法,可以參考一下

所以這個問題,並不是你前端沒寫好,而是要請後端幫你做出對應的設置

那設置的想法是什麼邏輯呢?這邊簡單說一下

想法就是,當找不到網頁的時候代表這個網址可能是前端路由的網址,所以我們後端就在404的時候,無條件返回index.html這頁給使用者

當返回index.html這頁後,就換angular的前端程式接手了,此時他就會依你給的網址,轉換到該路由的那一頁

這樣程式就順利運作了,大概是這種感覺…

了解了原理之後,大家趕快試試,能不能正確的在你的伺服器上運作~~~ 

 

參考文件: 
伺服器端配置 




Copyright © 凱哥寫程式 2022 | Powered by TalllKai ❤