support microsoft internet browsers angular

microsoft - Error angular 4 en IE11



angular browser (2)

Tengo un proyecto de Angular 4 que funciona correctamente en Chrome. Sin embargo, no se carga en IE11 con el siguiente error en polyfills.bundle.js (uso el comando "ng build --env = prod" para crear el sitio):

var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) { var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable); var f = ctx(fn, that, entries ? 2 : 1); var index = 0; var length, step, iterator, result; if (typeof iterFn != ''function'') throw TypeError(iterable + '' is not iterable!'');

iterFn no está definido aquí, por lo que se produce un error. Por favor avise.


Como @Sumit ha respondido, debe agregar estas importaciones en el archivo polyfill.ts:

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/weak-map''; import ''core-js/es6/set'';

Además, necesitas importar el api reflejado:

/** IE10 and IE11 requires the following for the Reflect API. */ import ''core-js/es6/reflect''; /** Evergreen browsers require these. **/ // Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators),you //can remove. import ''core-js/es7/reflect'';

Además, si está utilizando animación de material angular en su proyecto, es necesario importar animaciones web para que el material angular funcione correctamente en IE.

import ''web-animations-js''; // Run `npm install --save web-animations-js`.

Y por último, pero no menos importante, una biblioteca muy importante para que funcione correctamente su proyecto Angular en IE:

/** IE10 and IE11 requires the following for NgClass support on SVG elements */ import ''classlist.js''; // Run `npm install --save classlist.js`

.


Para un mejor soporte de IE11, necesita agregar algunas importaciones de es6 exclusivamente en sus rellenos automáticos. La lista es la siguiente:

/** 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/weak-map''; import ''core-js/es6/set'';