73

I am building a Angular4 project using Angular CLI (1.1.2). It runs perfectly in Chrome (Version 59.0.3071.115) and firefox(54.0.1) but when I tried to use IE11 (Verison 11.0.9600.18738) nothings shows up and when I open the develper mode in IE, it shows me the following Error:

SCRIPT5022: Exception thrown and not caught
File: polyfills.bundle.js, Line: 829, Column: 34

And the detailed Error message is following:

enter image description here

Anyone knows how to solve this problem?

Thanks!

Terry Zhang
  • 4,541
  • 8
  • 23
  • 29

3 Answers3

82

To add more detail to @Zeqing's answer.

I uncommented the following line of codes in .\my-app\src\polyfills.ts :

/** IE9, IE10 and IE11 requires all of the following polyfills. **/
import 'core-js/es6/symbol';
import 'core-js/es6/object';
import 'core-js/es6/function';
import 'core-js/es6/parse-int';
import 'core-js/es6/parse-float';
import 'core-js/es6/number';
import 'core-js/es6/math';
import 'core-js/es6/string';
import 'core-js/es6/date';
import 'core-js/es6/array';
import 'core-js/es6/regexp';
import 'core-js/es6/map';
import 'core-js/es6/set';
LocustHorde
  • 6,361
  • 16
  • 65
  • 94
Chizl
  • 2,004
  • 17
  • 32
70

The default polyfills.ts file is commented and need to uncomment lines of code and run npm install the corresponding module. Then it will compatible with the IE11

Terry Zhang
  • 4,541
  • 8
  • 23
  • 29
  • 2
    Sorry, what the modules should be installed to make it compatibe with IE11? – dmitry_bond Jun 03 '18 at 14:56
  • 2
    @dmitry_bond whichever ones you need. If you use `[1,2,3].includes(3)` for example, `.includes` would blow up in IE11 until you uncommented `core-js/es6/array`. If you don't use any es6 features, you don't need to include any of them and your app will still be compatible with IE11. – adamdport Jul 27 '18 at 13:54
10

I got this when I tried to add an es7 import. I simply replaced the es6 import with the es7 import. Turns out I needed both.

Gives me "Exception thrown and not caught" error:

import 'core-js/es7/array';

Works fine:

import 'core-js/es6/array';
import 'core-js/es7/array';
adamdport
  • 11,687
  • 14
  • 69
  • 91