Polyfill服务如polyfill.io似乎只向浏览器传递小的特性检测,然后仅延迟加载实际需要的polyfills。
据我所知,关于polyfill的babel文档,Babel总是包含可能需要的全部polyfills:它将处理一个,然后包括最弱的浏览器需要的那些来自core-js的polyfills。像webpack这样的打包工具可能会将所有这些polyfills合并到应用程序中,但没有运行时特性检测。
我的应用程序使用现代ES语言功能,但也针对广泛的浏览器,包括IE10和IE11。这需要大量的polyfills,并且可能会使捆绑文件变得臃肿,特别是对于可能不需要大部分polyfills的现代浏览器而言。
因此,我在想:我可以告诉Babel和/或Webpack仅包括特性检测,将polyfills拆分成单独的块(个别或小型捆绑包),然后在运行时仅“懒”加载实际需要的内容吗?
据我所知,关于polyfill的babel文档,Babel总是包含可能需要的全部polyfills:它将处理一个,然后包括最弱的浏览器需要的那些来自core-js的polyfills。像webpack这样的打包工具可能会将所有这些polyfills合并到应用程序中,但没有运行时特性检测。
我的应用程序使用现代ES语言功能,但也针对广泛的浏览器,包括IE10和IE11。这需要大量的polyfills,并且可能会使捆绑文件变得臃肿,特别是对于可能不需要大部分polyfills的现代浏览器而言。
因此,我在想:我可以告诉Babel和/或Webpack仅包括特性检测,将polyfills拆分成单独的块(个别或小型捆绑包),然后在运行时仅“懒”加载实际需要的内容吗?