17

i am using angular4 for my project, when i first encountered this error i found some blog which asked me to install object-assign and use in the project. so i installed object-assign using npm install object-assign --save command and refrenced it in the polyfill.ts file like this

import 'object-assign';
import 'core-js/es6/reflect';
import 'core-js/es7/reflect';

then i build the project using this command

ng build --prod --env=prod

but even after refrencing this file i am getting the error like this

enter image description here how can i solve this, did i miss something.

i am able to see the application in all other browser except IE11

1
  • Are you using angular cli? There are certain polyfills that have to be imported to your project in your polyfills.ts file you have to uncomment pretty much everything. I'm assuming what you look for is in core-js/es6/object. Commented Aug 11, 2017 at 8:16

1 Answer 1

29

all it needed was a little reading of the commented line of the polyfills.ts file and i found out that there was already all the required file for making the application IE11 compatible, all we have to do is un-comment the following and it was working as expected. this is the polyfills.ts file

/**
 * This file includes polyfills needed by Angular and is loaded before the app.
 * You can add your own extra polyfills to this file.
 *
 * This file is divided into 2 sections:
 *   1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
 *   2. Application imports. Files imported after ZoneJS that should be loaded before your main
 *      file.
 *
 * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
 * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
 * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
 *
 * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html
 */

/***************************************************************************************************
 * BROWSER POLYFILLS
 */

/** 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';

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

/** Evergreen browsers require these. **/
import 'core-js/es6/reflect';
import 'core-js/es7/reflect';


/**
 * Required to support Web Animations `@angular/animation`.
 * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation
 **/
// import 'web-animations-js';  // Run `npm install --save web-animations-js`.



/***************************************************************************************************
 * Zone JS is required by Angular itself.
 */
import 'zone.js/dist/zone';  // Included with Angular CLI.



/***************************************************************************************************
 * APPLICATION IMPORTS
 */

/**
 * Date, currency, decimal and percent pipes.
 * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10
 */
// import 'intl';  // Run `npm install --save intl`.
/**
 * Need to import at least one locale-data with intl.
 */
// import 'intl/locale-data/jsonp/en';
Sign up to request clarification or add additional context in comments.

10 Comments

I got the same problem, but can't find polyfills.ts although polyfills.js exists it is different than what you show here... any idea??
"ur-angular-app-folder"/src/polyfills.ts
Great answer, for anyone who is still struggling after uncommenting this, is probably because you need to add import './polyfills.ts'; in boot.browser.ts file (for people using Visual Studio 2017) and this import has to be at the top i.e. before zone.js or bootstrap etc.
@CodeWarrior. Im still got problem after uncomment and im not using visual studio. Can explain more?
@SamuelKavinLoganathan Hey mate, as I've mentioned above in my comment, after uncommenting, you need to add import './polyfills.ts'; in your boot.browser.ts equivalent file of the IDE you are using. For me using Visual Studio 2017 it was boot.browser.ts. Have you tried that?
|

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.