Javascript 有条件加载多填充&;捆

Javascript 有条件加载多填充&;捆,javascript,polyfills,Javascript,Polyfills,我正在编写一个小型库(第一次),它利用了ResizeObserver API。但是,我想为不支持polyfill的浏览器添加它,并且仅在需要时将其加载到最终构建中,尽管我不确定将API检查/模块加载放在何处,或者该方法是否正确 假设我的索引文件是随库导出的主文件,我是否应该在函数定义之外添加以下语句: // index.js (async () => { if (!ResizeObserver in window) { const module = await im

我正在编写一个小型库(第一次),它利用了ResizeObserver 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支持),将包括哪些内容 第一次出版,我意识到我对它一无所知