我无法让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上实现这一目标?
答案 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.js
,web-animations-js
和intl
。