Angular 8 設定 - 支援 IE 11 顯示
系統要支援 IE 11顯示, 在 Angular 8 要如何設定呢?
參考這篇
https://github.com/angular/angular-cli/issues/14455
從這篇可以得知 Angular 8 已經使用 ES6/ES2015, 但 ES6 是無法在 IE11 上跑的, 所以要把 typescript 編譯的結果降到 ES5
方法一: 簡單但不建議的方法如下
pollyfills.ts
根據建議打開這兩個 js, 和做 npm install
1 | npm install --save classlist.js |
ps. core-js 不用再加入了, 在 Angular CLI 7.3 後已經內建(參考這篇 https://blog.ninja-squad.com/2019/01/31/angular-cli-7.3/)
tsconfig.json
修改 typescript 編譯結果為 ES5
browserslist
設定只支援 IE11
方法二
建立一個 tsconfig.app.es5.json(自己取一個任意檔名)
繼承 tsconfig.app.json, 但輸出設為 ES5
angular.json
- 在 architect.build.configurations 下多一個 ES5, 指定到新的 tsconfig.app.es5.json
- 在serve.configurations 下多一個 ES5 指定新的 builder option
package.json
指定原本的 start 為新的方式
1 | ng serve --configuration es5 |
pollyfills.ts 和 browserslist
跟方法一設定方式一樣
如此就大功告成!
References
- https://github.com/angular/angular-cli/issues/14455
- https://blog.ninja-squad.com/2019/05/29/angular-cli-8.0/
- https://stackoverflow.com/questions/56379067/how-do-i-support-internet-explorer-in-an-angular-8-application