#86785·Next.js

默认启用不支持的浏览器的多填充

作者: BenoitHiller创建于 2025年12月3日更新于 2026年9月17日
标签WebpackPerformanceTurbopacklinear: turbopack

QQ 链接到复制这个问题的代码

https://codesandbox.io/p/devbox/lucid-kirch-qm6y6g? 工作空间Id=ws YGJRKdEKng1kurcxFGU5DV 互联网档案馆的存檔,存档日期2013-12-20.

重写

  1. 启动应用程序(以任何方式)
  2. 在Chrome DevTools运行灯塔工具
  3. 在 " 透视 " 一节中说明,有一份报告说正在发送一些遗留的JavaScript多填充物。

<img宽="710"高="496" alt="Image" src="https://GitHub.com/user-attachments/assets/93c00966-75f6-4b34-b5c2-45f6fe249b49"/.

注:所附复制只是提供复制模板库的未变副本。 您可以在运行任何版本的下一个js应用程序上看到这个问题, 因为这些多填充被添加 。

当前对预期行为

只有在用户提出要求时,才应包含所注明的多填。 即使在这种情况下,也可以认为,用户应当提供支持更广泛的浏览器版本所需的多填充量,如果用户想要处理需要额外多填充量的案件,就应该如此。

这项索赔的依据是审查packages/next-polyfill-module/src/index.js中这些多填的编码,并指出灯塔公司警告说,所有浏览器的版本都比目前所支持的浏览器列表中的任何项目都要老:

贾森 { "浏览器列表": ["chrome 111","edge 111","firefox 111","safari 16.4"] (中文(简体) ). {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?


这就是假设,目前关于装载多填充物的建议将允许提前装入,以确保不发生任何中断,但如果情况并非如此,那本身就是一个问题。

提供环境信息

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
操作系统 :
平台: linux
拱门: x64
版本: # 1 SMP PREEMPT DYNAMIC 太阳Aug 6 20:05:33 UTC 2023
可用内存( MB): 4102
可用的CPU核心: 2
二进制 :
节点: 20.12.1
注: 10.5.0
亚伦: 1.22.19
平时:8.15.6
相关软件包:
下图:16.1.0-canary.12 //最新版本被发现(16.1.0-canary.12.
埃斯林特-配置-下方:不详
反应: 19.2.1
反应分数: 19.2.1
ZZ: 5.9.3;
Next.js 配置:
产出:不详
  • 哪些地区受到影响? (选择全部适用)

性能、涡轮包装、Web包装

  • 哪些阶段受到影响? (选择全部适用)

下个dev(本地),下个构建(本地),下个启动(本地),Vercel(已部署),其他(已部署)

其他背景

请注意,在目前下个多填充-模块'中的多填充物中,目前所支持的浏览器应当要求的唯一一种也是灯塔公司没有提到的唯一一种,即URL.canParse'。

这是考虑到一些评论称"Edge:永远不要"与链接的caniuse.com页面上的值不符.

我想,随着其他多填料的过时,这在未来仍会是一个问题,但我目前不建议实质性的 . . . . . . .