Angular 7 和 IE

Angular 7 and IE

我在 IE 11 中查看 angular 应用程序时遇到此错误

SCRIPT445: Object doesn't support this action
zone.js (199,1)

if (this._zoneDelegate.handleError(this, error)) {
    throw error;
}

使用 Angluar Core 7.2.15 和我使用的 polyfills

import 'core-js/es6/symbol';
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/regexp';
import 'core-js/es6/map';
import 'core-js/es6/weak-map';
import 'core-js/es6/set';
import 'core-js/es6/array';
import 'core-js/es6/object';
import 'core-js/es7/array';
import 'core-js/es7/object';

不确定我还能做什么

您需要导入使 Angular 应用在 IE 中运行所需的所有 polyfill。除了您导入的上述polyfills,请同时取消注释polyfills.ts中的以下polyfills:

import 'classlist.js';
import 'web-animations-js';
import 'core-js/es6/reflect';
import 'core-js/es7/reflect';
import 'zone.js/dist/zone';

然后你需要用npm安装一些包:

npm install --save classlist.js
npm install --save web-animations-js

还有a blog可以参考

Nico的建议是对的。正如他所说,core-js 只为流行的 es6 特性提供 polyfill。我使用了 IE 不支持的 new URL()