You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 16引入ng2-dragula后编译报错:polyfill相关文件未找到

解决Angular 16 + ng2-dragula的编译问题

核心问题:拼写不一致

你目前的问题大概率是文件名和配置路径的拼写错误:

  • 你创建的文件是polytills.ts(正确名称应为polyfills.ts),先把文件名改成polyfills.ts,放在src/根目录下,内容保留(window as any).global = window;
  • 你在tsconfig.app.json的files数组里写的是src/polyfill.ts(少了末尾的s),改成src/polyfills.ts,和文件名、angular.json里的配置保持完全一致

执行清理与重启

修改完成后,先清理Angular缓存再启动项目,避免旧配置残留:

ng clean
ng serve

备选方案:绕开polyfills文件

如果还是有问题,直接跳过polyfills文件的配置,在src/main.ts的最顶部添加以下代码:

(window as any).global = window;

Angular 16之后polyfills文件不再是强制要求,入口文件里的代码会在应用初始化前执行,完全能满足ng2-dragula的依赖需求,这样还能省掉配置polyfills的步骤。

额外检查点

如果TypeScript还是提示找不到文件,检查tsconfig.app.json的include数组是否包含src/**/*.ts——如果有这一项,TypeScript会自动编译src目录下所有ts文件,不需要手动把polyfills.ts加到files数组里,直接删掉那行配置即可。

内容的提问来源于stack exchange,提问作者Fizik26

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 07:32:35