我是Angular 8
的新手,目前正在其中开发一个web-app
。它在Google Chrome
和EDGE
中运行良好,但在IE 11
中甚至没有加载。我在网上探索了这个解决方案,并尝试了一些建议的解决方案。
我试过的是:
尝试01:
在index.html
中粘贴了这一行代码
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<script src="https://npmcdn.com/angular2/es6/dev/src/testing/shims_for_IE.js"></script>
尝试02
在polyfills.ts
中添加了这些行
/** IE9, IE10 and IE11 requires all of the following polyfills. **/
import 'core-js/es/symbol';
import 'core-js/es/object';
import 'core-js/es/function';
import 'core-js/es/parse-int';
import 'core-js/es/parse-float';
import 'core-js/es/number';
import 'core-js/es/math';
import 'core-js/es/string';
import 'core-js/es/date';
import 'core-js/es/array';
import 'core-js/es/regexp';
import 'core-js/es/map';
import 'core-js/es/set';
企图03
在IE 9-11
文件中包含了对browserlist
的支持。
但都徒劳无功,我解决不了这个问题。能不能有人找出我做错了什么!
发布于 2019-11-06 12:59:09
默认情况下,在角版本8中,为ng build
启用了差异加载。但是,对于ng test
和ng serve
,它只生成一个不能在IE11中运行的ES2015构建。
在服务过程中有两种方法可以使用ES5代码,这使得角8应用程序可以在IE11中工作。
您可以通过在tsconfig.json.
在tsconfig.app.json旁边创建一个新的tsconfig tsconfig-es5.app.json,内容如下:
{“扩展”:./tsconfig.app.json“,"compilerOptions":{”目标“:"es5”}
在angular.json中,在build目标下添加两个新的配置节(es5节点),以提供新的tsconfig。
"build":{ "builder":“@angular/build-角:browser”、“选项”:{. }、“配置”:{ "production":{. }、"es5":{ "tsConfig":"./tsconfig-es5.app.json“}、"serve":{ "builder":@ar角-devkit/builder:dev-server,“选项”:{…},“配置”:{“生产”:{…},"es5":{ "browserTarget":":build:es5“} },
此外,浏览器列表文件内容如下:为IE9-11支持,删除'not'.,删除
0.5%的最后2个版本
然后,您可以使用以下命令使用此配置运行serve:
ng serve --配置es5
https://stackoverflow.com/questions/58728056
复制相似问题