现在 Angular 正在与 Ivy 合作,并决定放弃 Internet Explorer。
我们可以安全地删除 Angular
polyfills.ts
项目中的 >= v13
文件吗?
根据docs,Angular 有一个强制的polyfill
zone.js
。如果没有这个polyfill,您的应用程序可能无法运行。因此删除 polyfills.ts
文件并不安全。
显然,在 Angular v15 中,使用
polyfills.ts
命令时,ng new
文件不再添加到新项目中,请参阅更新的文档。因此,更新到 Angular 15 后,如果 polyfills.ts
文件仅包含 zone.js
导入,您也许可以删除它。但是,在这种情况下,您需要通过 angular.json
: 添加 polyfill
"polyfills": ["zone.js"]
Angular 17 引入了对信号的支持。截至 2024 年 2 月,他们正在将信号集成到组件中。根据 Signals RFC,组件将能够切换到 Signals 更改检测,该功能无需 zone.js 即可工作。仅包含基于 Signal 的组件的应用程序无需 zone.js polyfill 即可运行。然而,Angular 仍然需要实现一些东西才能使其正常工作。