2017-08-11 20 views
11

我使用angular4为我的项目,当我第一次遇到这个错误时,我发现一些博客,要求我安装对象分配和使用该项目。所以我使用NPM安装对象分配--save命令安装对象的分配,并在polyfill.ts refrenced其文件中像这样对象不支持属性或方法'分配' - ie11同时使用angular4

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

然后我用这个命令

ng build --prod --env=prod 
建设项目

但即使在refrencing这个文件后,我得到这样的错误

enter image description here 我该如何解决这个问题,我错过了什么。

我能够看到所有其他浏览器应用程序,除了IE11

+0

您是否使用角度cli?在你的'polyfills.ts'文件中有一些必须导入到你的项目中的polyfills,你必须对所有内容取消注释。我假设你在找'core-js/es6/object'。 – Vic

回答

15

所有需要的只是在polyfills.ts文件的注释行的一些阅读,我发现已经有人所有需要的文件使得应用程序IE11兼容,我们所要做的就是取消下面的注释并且按照预期工作。这是polyfills.ts文件

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

我得到了同样的问题,但无法找到polyfills.ts虽然polyfills.js存在它不同于你在这里展示...任何想法?? – Red

+1

“ur-angular-app-folder”/src/polyfills.ts – Ales

+0

很好的回答,对于那些在取消注释之后仍然挣扎的人来说,可能是因为你需要添加'import'./polyfills.ts';'in * * boot.browser.ts **文件(对于使用Visual Studio 2017的用户),并且此导入必须位于zone.js或bootstrap之前的顶部。 – CodeWarrior

相关问题