我正在使用 Gatsby ( doc )支持的 browserlist 来试验 Gatsby 和 polyfills 。
使用默认的浏览器列表配置,我得到了为 IE11 创建 polyfills 和工作警报的预期结果。请参阅我的github 存储库示例。该网站目前在 Netlify 上可用。
所以,我可以在生产代码中看到箭头函数和 array.prototype.find 函数是如何填充的。到目前为止没有什么奇怪的。
现在,如果我将浏览器列表更改为last 2 Chrome versions
并构建生产,我希望数组 find() 方法的 polyfill 会消失,因为它受 chrome 支持。但是,我相信我仍然可以在以下位置找到相同的 polyfills(来自 core-js)app-2934fab61c547573181d.js
:
dRSK: function(t, e, n) {
"use strict";
var r = n("XKFU")
, o = n("CkkT")(5)
, i = !0;
"find"in [] && Array(1).find((function() {
i = !1
}
)),
r(r.P + r.F * i, "Array", {
find: function(t) {
return o(this, t, arguments.length > 1 ? arguments[1] : void 0)
}
}),
n("nGyu")("find")
},
所以我的问题是:为什么这些 polyfills 仍然可用,即使我使用显然不需要的浏览器列表查询?