为什么我们要导入“core-js/stable”库?

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

我正在优化一个 React 项目。我可以看到使用了“core-js/stable”。最新的浏览器还需要这个包吗?因为大多数浏览器都支持 ES6 功能。

reactjs babeljs create-react-app polyfills core-js
1个回答
1
投票

即使当前可能不需要它(如果不查看代码并准确了解您想要支持的浏览器版本,就无法判断),如果开发人员稍后在应用程序中使用新功能,该怎么办?即使在现代浏览器中也需要进行多填充?为了更安全并自动化该过程,建议在入口点之前包含 core-js/stable,在项目的

browserlist
中声明您想要支持的浏览器(查看
browserlist Playground
),然后让 core-js/stable仅在捆绑包中包含所需的 polyfill(根据
caniuse
数据库)。当然,请记住,core-js/stable目前可能不支持某些polyfill,需要单独包含。
另一种方法可能是使用 

Cloudflare

上托管的 polyfill 服务,选择

ES6
(以及您可能需要的其他 polyfill),生成
URL
并将其包含在
head
标签的顶部。与
core-js/stable
相比,优化优势在于它根据请求
URL
的用户代理有条件地包含一个 polyfill。对于非常现代的浏览器来说这是一个很好的优势,其中一些浏览器可能会通过
0KB
获得
https://cdnjs.cloudflare.com/polyfill/
的 polyfill。缺点是它不能与
browserlist
一起使用,因此您更有责任了解您的应用程序需要什么 polyfill,生成正确的
polyfill 服务
URL,并在您想要的最旧版本上测试您的应用程序支持每个浏览器。
    

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