2017-08-11 22 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

相關問題