2019-05-09

[Angular] 部屬到 IIS

在將 Angular 部屬到正式機時,強烈建議使用指令 ng build --prod 將程式 build 過,不這樣做直接將程式放上去也是可以執行,只是 build 過是有好處的:
  • 只保留需要的 ng-modules,省下很多空間,以我的專案而言,空間從 230MB 剩下 1MB。
  • 檔名全部更名,程式碼也全部壓縮,安全性提升,如下圖:

而 build 完後,一樣能針對產生的 dist 資料夾使用 ng serve 來啟動網站,但是難免怕 command 視窗不小心被關閉了而網站無法執行。


所以可以使用以下方式將 dist 資料夾掛到 IIS 來啟動網站,就像 ASP.NET 一樣,但是要調整一些東西才能正常執行:
  • 在 IIS 新增應用程式,並將路徑指到 dist 下面的專案名稱資料夾,假設應用程式名稱為 ngHero。

  • 修改 dist 下面的專案名稱資料夾裡的 index.html,將 base href 改成 /應用程式名稱/,注意前後都有斜線,以這個例子就是 /ngHero/。



如此,在 Browser URL 打上 http://localhost/ngHero/ 就能順利執行了。

官網上有提到 IIS 須設定 URL Rewrite rule,我是沒有做這部份就能執行了,後續如果有什麼問題再來補充。



參考網址:stackOverflow

沒有留言:

張貼留言