【问题标题】:What is the use of polyfills.ts file in AngularAngular 中 polyfills.ts 文件有什么用
【发布时间】:2021-07-22 12:36:08
【问题描述】:

polyfills.ts 文件是在使用 Angular Cli 创建 Angular 应用程序时自动生成的。 谁能解释一下 polyfills.ts 文件在 Angular 应用程序中的用途。

【问题讨论】:

标签: angular angular-cli


【解决方案1】:

Polyfills 是几行代码,可以让您的应用程序兼容不同的浏览器。我们编写的代码主要是在 ES6(新特性:概述和比较)中,与 IE 或 firefox 不兼容,需要一些环境设置才能在这些浏览器中查看或使用。

Polyfills.ts 由 Angular 提供,可帮助您无需专门设置所有内容。

来自Docs

Angular 建立在网络平台的最新标准之上。 针对如此广泛的浏览器具有挑战性,因为它们确实 不支持现代浏览器的所有功能。

阅读更多here

【讨论】:

  • 文件可以删除吗?
  • 我的 es5 有 132K,es2015 有 37K - 所以它几乎没有几行代码。它是一堆。
【解决方案2】:

基本上 polyfills 兼容不同的浏览器,尤其是 IE 旧版本 IE8、IE9 和 IE10。 Angular 具有用 ES6 和 typescript 编写的新功能 ,所以 polyfills 有助于兼容不同的浏览器。

【讨论】:

  • polyfills.ts 文件总是一样的吗?
  • 我可以纠正一个小错误吗?据我所知,打字稿根本不兼容任何浏览器,从来没有花哨的新浏览器。因此,没有浏览器可以解释 polyfill.ts 文件,但是在您的 ng build 期间,Angular 编译器会构建 main.js(您的应用程序)和 polyfill.js(兼容层)等文件,这些文件在 index.html 中被引用,投放到您的浏览器。
【解决方案3】:

Angular 是用 ES6+ 语言规范编写的。由于并非所有浏览器都支持它的许多功能。因此,通过在 polyfill 中定义它们,它将在给定的浏览器中兼容。

【讨论】:

    【解决方案4】:

    此文件包含 Angular 所需的 polyfill,并在应用程序之前加载。 您可以将自己的额外 polyfill 添加到此文件中。

    此文件分为 2 个部分:

    1. 浏览器 polyfill。这些在加载 ZoneJS 之前应用,并按浏览器排序。
    2. 应用程序导入。在 ZoneJS 之后导入的文件应该在你的主文件之前加载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-02
      • 1970-01-01
      • 2016-09-26
      • 2018-04-17
      • 1970-01-01
      • 2017-02-09
      • 2018-02-26
      • 2016-06-26
      相关资源
      最近更新 更多