polyfill.ts文件可以删除吗?

问题描述 投票:0回答:3

我的应用程序中有这个 polyfill.ts 文件,其中包含以下导入语句:

import 'zone.js/dist/zone'; 
import 'core.js';
import 'core-js/modules/es6.map';
import 'regenerator-runtime/runtime';
import 'core-js/es6/reflect';

但是在检查控制台日志后,发现polyfill.js文件中存在未捕获的类型错误(注意:错误出现在polyfill.js文件上,而不是polyfill.ts文件上)

有没有办法不加载这些polyfill 文件?即使它是自动创建的,是否也可以删除这个 polyfill.ts 文件?

javascript angular typescript polyfills
3个回答
6
投票

从 Angular 15 开始,不再需要 polyfill 文件。

您可以直接在

zone.js
通过
angular.json

"polyfills": [
  "zone.js"
]

2
投票

构建项目时,

polyfill.ts
用于创建
polyfill.js
构建工件,其中包含支持旧版浏览器中缺少的功能所需的所有填充。

是否也可以删除这个polyfill.ts

尝试避免删除此文件,因为polyfill.ts包含

zone.js
polyfill。您的应用程序在旧版浏览器上运行时可能会产生错误。但是,您可以删除项目不需要的内容。

以下是这些填充函数的摘要:

import 'zone.js/dist/zone';:Angular 内部需要创建一个围绕异步任务的包装器,以便进行更改检测和 Angular 渲染器在旧版浏览器上正常工作。

导入'core.js'; 导入“core-js/es6/reflect”; import 'core-js/modules/es6.map'; :对于缺少许多现代 ES6 功能的 IE 支持很有用。如果您不支持 IE,可以删除这些。

import 'regenerator-runtime/runtime';:为生成器/产量函数添加polyfill。


0
投票

通过遵循 Matthieu Riegler 的解决方案,然后从我的 "src/tsconfig.*.json" 文件的

"polyfills.ts"
区域中删除
"files"
,我能够从项目中完全删除 polyfills.ts 文件。

© www.soinside.com 2019 - 2024. All rights reserved.