问题描述
我正在编写一个使用 Resize Observer API 的小型库(这是第一次)。但是,我想为不支持它的浏览器包含 polyfill,并且仅在需要时才将其加载到最终构建中,尽管我不确定将 API 检查/模块加载放在哪里,或者如果此方法是正确的方法。
假设我有我的索引文件,它是与库一起导出的主文件,我是否应该在函数定义之外添加此语句,如下所示:
// index.js
(async () => {
if (!ResizeObserver in window) {
const module = await import('resize-observer-polyfill');
window.ResizeObserver = module.ResizeObserver
}
}();
// main function exported
export default () => {
function loadResizeObserver() {
const ro = new ResizeObserver((entries) => {
// ...
})
}
}
有没有更好的方法来编写这样的东西?如果消费者安装了软件包(有和没有原生 RO 支持?),这将如何影响构建以及包含的内容? 第一次发布,发现我对此一无所知。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)