Angular 8 設定 - 支援 IE 11 顯示

Posted by Tim Lin on 2019-09-20

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
2
npm install --save classlist.js
npm install --save web-animations-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