顯示具有 Angular 標籤的文章。 顯示所有文章
顯示具有 Angular 標籤的文章。 顯示所有文章

2019-05-11

[Angular] 無法使用 private !?

有個專案使用 ng serve 時,沒有出現 error:

但使用 ng build --prod 時,卻出現 error,一個只在自己 Component 裡使用的 private property 出現 access deny:


查了一下原因,是因為 TypeScript 最後會轉成 JavaScript,但是 JavaScript 不支援 private,才會出現 error,拿掉 private 之後就正常了。



參考來源:yakovfain.com

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

2019-03-31

[Angular] 中文亂碼問題

在開發 Angular 過程中,偶而會遇到中文顯示變成亂碼的問題,真的是偶而才會遇到,原因不明。

有試過調整 Browser 的編碼是無效的。

目前找到的解法是將 template (.html) 使用記事本打開,再另存新檔,存檔前將編碼選成 UTF-8 即可。




參考來源:stackOverflow