有個專案使用 ng serve 時,沒有出現 error:
但使用 ng build --prod 時,卻出現 error,一個只在自己 Component 裡使用的 private property 出現 access deny:
查了一下原因,是因為 TypeScript 最後會轉成 JavaScript,但是 JavaScript 不支援 private,才會出現 error,拿掉 private 之後就正常了。
參考來源:yakovfain.com
2019-05-11
2019-05-09
[Angular] 部屬到 IIS
在將 Angular 部屬到正式機時,強烈建議使用指令 ng build --prod 將程式 build 過,不這樣做直接將程式放上去也是可以執行,只是 build 過是有好處的:
而 build 完後,一樣能針對產生的 dist 資料夾使用 ng serve 來啟動網站,但是難免怕 command 視窗不小心被關閉了而網站無法執行。
所以可以使用以下方式將 dist 資料夾掛到 IIS 來啟動網站,就像 ASP.NET 一樣,但是要調整一些東西才能正常執行:
如此,在 Browser URL 打上 http://localhost/ngHero/ 就能順利執行了。
官網上有提到 IIS 須設定 URL Rewrite rule,我是沒有做這部份就能執行了,後續如果有什麼問題再來補充。
參考網址:stackOverflow
- 只保留需要的 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
有試過調整 Browser 的編碼是無效的。
目前找到的解法是將 template (.html) 使用記事本打開,再另存新檔,存檔前將編碼選成 UTF-8 即可。
參考來源:stackOverflow
訂閱:
意見 (Atom)






