我一直在尝试学习如何创建/分发npm包,我已经编写了我的第一个利用ResizeObserver应用程序接口的库,目前它在全球拥有大约89.6%的支持。
我想捆绑一个文件,其中包括resize-observer-polyfill以及库的一部分,这样别人就可以将其导入为import <library-name> from "<library-name>/polyfilled";
我已经使用TSDX生成了这个项目,目前只发布了index.ts文件和index.d.ts类型的文件。在index.ts文件中,有一个函数在内部使用resize观察器。
我不确定如何创建设置来处理这个问题,我不确定是否可以仅仅通过更改配置来包含它(TSDX使用Rollup),或者我是否需要做其他事情,比如动态导入模块,但不确定就包大小而言,这将如何工作,以及它是否会被添加到整个库大小中。
// 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) => {
// ...
})
}
}处理向库中添加多边形填充的最佳方法是什么?或者我应该只指向polyfill,以便使用者在需要时添加它?
发布于 2021-01-19 19:04:44
我建议不要在库中包含pollyfill,因为它会增加包的大小。
如果最终用户需要,只需添加pollyfills可以使用什么以及如何使用的详细信息,以便需要此支持的开发人员(显然是针对旧浏览器)可以非常容易地添加它。
默认情况下,添加将增加大小,并且对于那些专注于最新版本浏览器的人来说,将导致未使用的代码。
https://stackoverflow.com/questions/65679111
复制相似问题