zarm icon indicating copy to clipboard operation
zarm copied to clipboard

Zarm 是否默认集成如 `Promise.finally`, `object.values` 之类的 polyfill

Open iShawnWang opened this issue 2 years ago • 3 comments

描述

Zarm 实现过程中, 如 Button 组件使用了 Promise.finally 等 api, 可能会有低版本浏览器兼容问题, 导致运行代码逻辑执行失败或者报错, 如何解决此问题

方案

方案 1

无论是否使用到该组件或者功能, 一律在 zarm 入口处添加依赖的 api 的 polyfill

方案 2

文档表格标明 : 某 feature 使用了 某 api, 兼容情况放置 caniuse 外链 用户自行决定并再自己的项目中手动引入 polyfill

iShawnWang avatar Oct 25 '21 07:10 iShawnWang

我目前的想法是 方案 2, 需要一个文档以表格的方式指明可能有兼容问题的 api

组件 功能描述 使用到的 api 兼容性

然后另一个文档, 写出常见 polyfill 的接入示例, 如 promise.finally, IntersectionObserver

iShawnWang avatar Oct 25 '21 07:10 iShawnWang

方案2似乎更好些,维护一个兼容性列表,让用户自行选择是否需要引入 polyfill

JeromeLin avatar Oct 25 '21 08:10 JeromeLin

我们引入了完整的polyfill文件来兼容低版本webview

iHaroro avatar Mar 25 '22 02:03 iHaroro