babeljs – 当*不*开发图书馆时,使用babel-runtime和babel-polyfill之间有什么实际的区别吗? (例如web应用)

这一切都在标题中,真的.

在Babel文档中,page describing babel-runtime有以下一行

Another purpose of this transformer is to create a sandboxed environment for your code. Built-ins such as Promise,Set and Map are aliased to core-js so you can use them seamlessly without having to require a globally polluting 07001.

polyfill就是这样,一个单独的JavaScript文件,其中包含一些丢失的东西.

我已经使用我的构建工具(webpack)测试了polyfill与使用babel-runtime,当我使用babel-runtime时,我的文件略小.

我不是开发一个图书馆或插件,只是一个Web应用程序,也不关心被污染的全球范围.知道这一点,除了稍微更小的最终文件大小之外,在polyfill中使用运行时还有其他实际的好处或要点吗?

解决方法

如果您不关心污染全局范围,则polyfill是更好的选择:运行时不适用于例如[0,1,2] .includes(1)的实例方法,而polyfill会.

两者之间的主要区别在于,polyfill会污染全局范围,并使用实例方法,而运行时不会污染全局范围,并且不适用于实例方法.

polyfill也不允许您在代码中包含两个独立的版本.这只是一个问题,如果在您的代码中的某个地方需要/导入两个单独的聚合物.

相关文章

HTML代码中要想改变字体颜色,常常需要使用CSS样式表。CSS是...
HTML代码如何让字体盖住图片呢?需要使用CSS的position属性及...
HTML代码字体设置 在HTML中,我们可以使用标签来设置网页中的...
在网页设计中,HTML代码的字体和字号选择是非常重要的一个环...
HTML(Hypertext Markup Language,超文本标记语言)是一种用...
外链是指在一个网页中添加一个指向其他网站的链接,用户可以...