Angular8とIE11対応


Angular8がリリースされてもう一月たちましたね!
Differential Loadのおかげか、アップデートしたらそんなに重くないサイトでも少しメインバンドルが軽くなったので嬉しくなりました。ng updateのおかげでアップデート自体はかなりさくさくできましたが、IE対応する場合はちょっとだけ追加で作業が必要でした。ほぼ自分用にメモしておくくらいの感じですが、記録しておきます。

browserslist

# For IE 9-11 support, remove 'not'.

とbrowserslistに書いてあるので、忘れずにnot IE 9-11IE 9-11にしておきましょう。これは明示的に書いてあるので比較的わかりやすいと思います。

IE11用起動コマンドオプションの設定

browserslistの設定はビルド用です。実はこの状態でng serveしたものをIEで開くと画面は真っ白で全くロードされません。
調べると該当のIssueが出てきます。手っ取り早くどうすればいいかは、このコメントが一番わかりやすいです。
よくまとまっているので特にわざわざ同じことを書きませんが、やってることはng serve --configuration es5とオプションをつけて起動すると、IE11でも開けるes5で出力されるようにする、です。
元Issueにもあるように、Differential Loadingをdisableにすることもできますが、せっかくのv8の恩恵を捨ててしまうのは勿体無いですし、簡単3ステップで設定できるのでこちらをお勧めします。