我正在使用Angular 5,并试图在IE11中运行我的应用程序。我没有在.\my-app\src\polyfills.ts
中注释必要的代码,但很遗憾在我的index.html文件中收到与此代码有关的以下错误:
<script>
System.import('main.js').catch(function(err){ console.error(err); });
</script>
Error: 'System' is undefined
我环顾四周,发现以下可能解决问题的Github问题:
https://github.com/angular/angular/issues/7144
在此线程中,它提到我需要在index.html文件中包括以下内容:
shims_for_IE.js
现在,我正在使用Angular 5,但不确定将shims_for_IE.js文件放置在index.html
文件中的位置。
如何解决IE11中的'System' is undefined
问题?
答案 0 :(得分:2)
对于非CLI
对于shim.min.js
中的index.html
的非CLI项目导入
<script src="node_modules/core-js/client/shim.min.js"></script>
对于CLI
在您的polyfills.ts
中取消注释这些行
/***************************************************************************************************
* BROWSER POLYFILLS
*/
/** IE9, IE10, IE11, and Chrome <55 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';
按照here的说明在index.html
文件中添加此元标记
<meta http-equiv="X-UA-Compatible" content="IE=edge" />