Angular CLI + Angular 4 = IE10不起作用

时间:2017-09-27 13:59:43

标签: angular angular-cli

我无法让IE10加载全新的Angular CLI项目。当您运行新的'时,除了默认的Angular CLI包之外,没有其他代码。

我使用Angular 4.2.4,@ angular / cli 1.3.1和IE 10.0.9200.16519

我已经尝试过构建'和构建--prod'并且都返回相同的错误消息。该项目在其他所有浏览器上运行。

我已经取消注释了在项目的polyfills.ts中运行IE9,IE10,IE11所需的所有polyfill行(并按照文件中的说明安装了所有内容)。

4个错误是:

预期标识符polyfills.bundle.js,第6127行67字符

var REACT_ELEMENT_TYPE = typeof Symbol === "function" && Symbol.for && Symbol.for("react.element") || 0xeac7;

对象不支持属性或方法' bind' styles.bundle.js,第279行第3期

update = applyToSingletonTag.bind(null, styleElement, styleIndex, false);

预期标识符vendor.bundle.js,第2056行第71期

exports.rxSubscriber = (typeof Symbol === 'function' && typeof Symbol.for === 'function') ?
Symbol.for('rxSubscriber') : '@@rxSubscriber';

对象不支持属性或方法' defineProperty' main.bundle.js,第132行第1期

Object.defineProperty(__webpack_exports__, "__esModule", { value: true });

似乎' 符号',' 绑定',' defineProperty '是罪魁祸首。

我确实看到符号和对象es6 polyfill包含在pollyfills.ts项目文件中:

****************************************
* BROWSER POLYFILLS
*/
/** IE9, IE10 and IE11 requires all of the following polyfills. **/
import 'core-js/es6/symbol';
import 'core-js/es6/object';
...
(+ all the other polyfills that are in the polyfills.ts file)

我如何在IE10上实现这一目标?

2 个答案:

答案 0 :(得分:8)

添加:

<meta http-equiv="x-ua-compatible" content="IE=edge">

到index.html的<head>部分。

将IE9,IE10,IE11兼容模式设置为EDGE修复了所有问题。

答案 1 :(得分:1)

默认情况下,角度cli项目不能无法在IE9,IE10和IE11上运行角度应用程序所需的polyfill。我们需要取消注释src/polyfills.ts下所有必需的polyfill才能在IE上运行应用程序。 (确保已使用`npm install --save命令安装了所有指示的节点包,如classlist.jsweb-animations-jsintl