Describe the bug
Out of the box the demo app does not run in IE. To solve this differential loading (great feature) must be disabled. So teams need to weigth the use of this with the need to support IE.
And we need to decide if the demo app should target es6. Solution is on and discussed here:
https://stackoverflow.com/questions/56563742/how-do-i-make-angular-8-compatible-with-ie11
To Reproduce
Steps to reproduce the behavior:
npm run startExpected behavior
Works (optionally)
Version
Platform
Additional Thoughts / FIxes
cc @bthharper (thanks for finding this).
cc @claudenbach @pwpatton @fitzorama
The quickest workaround (for now) is to change the target in ./tsconfig from:
"target": "es2015",
to
"target": "es5",
Then run npm run start.
Yes, when compiling for production angular handles this through "differential loading". i.e. loading es5 for IE11 vs es2015 for modern browsers.
Unfortunately, ng server does NOT handle differential loading.
For ngserve, we need to create another npm start script to switch the target to es5 when we want to test on IE11.
npm script
"start:ie": "ng serve --configuration=es5"
And ofcourse the tsconfig that sets the "target".
tsconfig.es5.json
{
"extends": "./tsconfig.app.json",
"compilerOptions": {
"target": "es5"
}
}
This is what we did in the landmark project.
If only we could drop IE11!
@bthharper I think we are getting closer and closer. Once Edge Chrome is released we may have some opportunity if our current version -1 support policy holds, and chrome edge is considered a newer version current edge - fingers crossed.
Yes - been using Chrome Edge for a while. Fast!
Most helpful comment
https://www.engadget.com/2019/11/04/chromium-edge-browser-release-date/