集成 polyfill 以使 Angular 与 Internet Explorer 兼容的正确方法是什么?
What is the right way to integrate polyfills to make Angular compatible with Internet Explorer?
我用 Angular 开发了一个客户端图形界面。应用程序的用户必须能够从 Internet Explorer 查看图形界面。问题是 Internet Explorer 不显示任何内容,只是 空白页 。其他浏览器正确显示 Angular 应用程序。我知道我必须使用 polyfills 来做到这一点,但我对 polyfills 的所有尝试都失败了。那么,正确的做法是什么?
我使用 Angular 8,NodeJS v10.15.3,我的 Angular 应用程序实现了一些 网络组件和Angular路由器。我对该主题进行了一些研究,并通过交叉检查我发现的不同信息,我能够编写 polyfills.ts 文件,根据以下内容,我认为该文件是非常正确的:
https://blog.angularindepth.com/angular-and-internet-explorer-5e59bb6fb4e9
https://angular.io/guide/browser-support#suggested-polyfills
因此,我的 polyfills.ts 文件如下所示:
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/weak-map';
import 'core-js/es6/set';
import 'classlist.js';
import 'core-js/es6/reflect';
import 'core-js/es7/reflect';
import 'core-js/es7/array';
import 'web-animations-js';
import 'zone.js/dist/zone';
/* for web components */
import '@webcomponents/custom-elements/src/native-shim';
import '@webcomponents/custom-elements/custom-elements.min';
我希望 Internet Explorer 能够显示我的内容,但是...没有。
在我添加 polyfill 之前,我有一个空白页面。在我得到一个空白页面之后,但这次在控制台中出现了错误,这不是错误:
https://1drv.ms/f/s!ArJSYka9gM27oknTCiu7v0UohOFb
我也尝试过 "polyfills.io" API 但它并不是真正的结论。
我一定是忘记了配置中的某些东西,或者 polyfill 根本不起作用?无论如何,我暂时被困住了,希望你们中的一些人能帮助我。预先感谢您的反馈,祝您有美好的一天。
请检查您的 tsconfig.json 文件并确保目标设置为 ES5 而不是 ES6。还要确保您在 index.html 文件中引用了 shim.min.js。
关于shim.min.js,我也得到了同样的方法来引用
我用 Angular 开发了一个客户端图形界面。应用程序的用户必须能够从 Internet Explorer 查看图形界面。问题是 Internet Explorer 不显示任何内容,只是 空白页 。其他浏览器正确显示 Angular 应用程序。我知道我必须使用 polyfills 来做到这一点,但我对 polyfills 的所有尝试都失败了。那么,正确的做法是什么?
我使用 Angular 8,NodeJS v10.15.3,我的 Angular 应用程序实现了一些 网络组件和Angular路由器。我对该主题进行了一些研究,并通过交叉检查我发现的不同信息,我能够编写 polyfills.ts 文件,根据以下内容,我认为该文件是非常正确的:
https://blog.angularindepth.com/angular-and-internet-explorer-5e59bb6fb4e9
https://angular.io/guide/browser-support#suggested-polyfills
因此,我的 polyfills.ts 文件如下所示:
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/weak-map';
import 'core-js/es6/set';
import 'classlist.js';
import 'core-js/es6/reflect';
import 'core-js/es7/reflect';
import 'core-js/es7/array';
import 'web-animations-js';
import 'zone.js/dist/zone';
/* for web components */
import '@webcomponents/custom-elements/src/native-shim';
import '@webcomponents/custom-elements/custom-elements.min';
我希望 Internet Explorer 能够显示我的内容,但是...没有。
在我添加 polyfill 之前,我有一个空白页面。在我得到一个空白页面之后,但这次在控制台中出现了错误,这不是错误:
https://1drv.ms/f/s!ArJSYka9gM27oknTCiu7v0UohOFb
我也尝试过 "polyfills.io" API 但它并不是真正的结论。
我一定是忘记了配置中的某些东西,或者 polyfill 根本不起作用?无论如何,我暂时被困住了,希望你们中的一些人能帮助我。预先感谢您的反馈,祝您有美好的一天。
请检查您的 tsconfig.json 文件并确保目标设置为 ES5 而不是 ES6。还要确保您在 index.html 文件中引用了 shim.min.js。
关于shim.min.js,我也得到了同样的方法来引用