ice-lab / icejs

仓库迁移至:https://github.com/alibaba/ice

Home Page:https://ice.work/docs/guide/intro

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

helpers 方案升级

imsobear opened this issue · comments

背景

目前的 helpers 方案是通过 ice 导出的(只支持 url-parse 和 cookie),存在几个问题:

  • 不支持按需构建(或者支持起来成本比较高)
  • 物料没法直接使用(支持起来成本较高)

因此倾向于将此方案从框架中抽离出去,不强耦合框架。

方案

  • 封装 @ice/helpers 这个包,将用户使用高频的方法引进来,同时在官网上透出文档
  • icejs 默认支持这个包的按需构建(需要确定下放在哪个插件里比较合适)
import { cookie } from '@ice/helpers';

方案对比

相对于用户直接使用 url-parse/cookie/... 单独包的优缺点:

  • 优点:降低用户的选择成本、查找文档成本、版本管理成本
  • 缺点:大包版本管理需要谨慎(子包发生 break change)

相对于从 ice 中导入的优缺点:

  • 优点:按需构建支持成本极低、物料跟项目中都可以直接使用
  • 缺点:用户需要认知 @ice/helpers 这个包

整体来看,跟基础组件、hooks 的思路一致,对于一些基础高频的场景帮助开发者消化复杂度,降低选择成本(antd/fusion、ahooks、@ice/helpers

已迁移至:alibaba/ice#3173