IE11中的Angular4应用程序运行问题
Posted
技术标签:
【中文标题】IE11中的Angular4应用程序运行问题【英文标题】:Angular4 Application running issues in IE11 【发布时间】:2018-01-03 08:24:25 【问题描述】:我正在使用 Angular CLI (1.1.2) 构建一个 Angular4 项目。它在 Chrome(版本 59.0.3071.115)和 firefox(54.0.1)中完美运行,但是当我尝试使用 IE11(版本 11.0.9600.18738)时,什么都没有出现,当我在 IE 中打开开发者模式时,它显示了以下错误:
SCRIPT5022: Exception thrown and not caught
File: polyfills.bundle.js, Line: 829, Column: 34
详细的错误信息如下:
有人知道如何解决这个问题吗?
谢谢!
【问题讨论】:
src/polyfills.ts 谢谢!我刚刚发现我需要取消注释 polyfills.ts 中的代码行 【参考方案1】:为@Zeqing 的回答添加更多细节。
我在.\my-app\src\polyfills.ts
中取消了以下代码行的注释:
/** 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/set';
【讨论】:
当我在 VS 2017 中添加 Angular CLI 模板应用程序时为我工作 您可能导入的数量超出了您的需要,并且使您的包体积膨胀。截至 2018 年 3 月,一个新的 cli 项目将在 IE11 上运行良好,除了es6/string
和 es6/array
之外,所有这些都被注释掉了。
文件是 .\my-app\src\polyfills.ts
超级有帮助。谢谢你:)【参考方案2】:
当我尝试添加 es7 导入时,我得到了这个。我只是用 es7 导入替换了 es6 导入。结果我两个都需要。
给我“抛出异常但未捕获”错误:
import 'core-js/es7/array';
工作正常:
import 'core-js/es6/array';
import 'core-js/es7/array';
【讨论】:
【参考方案3】:默认的 polyfills.ts 文件是注释的,需要取消注释代码行并运行 npm install 对应的模块。然后它将与IE11兼容
【讨论】:
抱歉,要安装哪些模块才能兼容IE11? @dmitry_bond 任何你需要的。例如,如果您使用[1,2,3].includes(3)
,.includes
会在 IE11 中爆炸,直到您取消注释 core-js/es6/array
。如果您不使用任何 es6 功能,则无需包含任何功能,您的应用仍将与 IE11 兼容。以上是关于IE11中的Angular4应用程序运行问题的主要内容,如果未能解决你的问题,请参考以下文章
Angular4 CLI 项目中的 Bootstrap 4 Datatablejs
无法使用 IE 11 和 Angular 4 在 ArcgisMap 上拖动