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

前端之家收集整理的这篇文章主要介绍了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相关文章