@qynpm/hooks
v0.0.2
Published
起印公共 hooks 包。
Readme
@qynpm/hooks
@qiyin 公共 hooks 的 npm 拆包目录。
当前状态
目前这个包还在迁移初期,不是把老的 @qiyin/hooks 一次性整体搬过来,而是按“先公共、再解耦、最后替换”的方式逐步迁移。
当前已经迁入的能力:
useCreateInstanceuseInstanceView
当前职责
这个包主要承接适合做成 npm 公共能力的 hooks。
当前这批能力的边界是:
useCreateInstance- 负责动态创建实例
- 支持普通挂载
- 支持
asComponent模式
useInstanceView- 负责渲染
useCreateInstance创建出来的实例视图
- 负责渲染
当前联调方式
根目录 vite.config.ts 里有统一联调开关:
ENABLE_LOCAL_QIYIN_DEBUG = true@qynpm/hooks走本地 @qiyin/hooks/index.ts
ENABLE_LOCAL_QIYIN_DEBUG = false@qynpm/hooks走包正常入口
注意:
- 当前联调只接管
@qynpm/hooks - 老的
@qiyin/hooks仍然保留原有实现 - 不要把
@qiyin/hooks直接整体 alias 到这个新包,否则会影响现有业务
当前使用建议
如果是新拆出来、准备发布 npm 的能力:
- 优先从
@qynpm/hooks增加和引用
如果是老业务还在跑的历史能力:
- 继续走原来的
@qiyin/hooks
后续迁移原则
后面其他 hooks 迁移时,按下面的顺序处理:
- 先判断是不是公共能力
- 如果依赖业务 store / router / 页面上下文,先解耦
- 解耦完成后再迁到
@qynpm/hooks - 验证稳定后,再逐步把业务引用切到 npm 包
当前不建议原样直接迁移的,通常是这类:
- 强依赖
@/store - 强依赖具体业务模块
- 只在单一业务场景内使用的 hooks
已迁移说明
这次迁移里:
@qynpm/form内部的useSave已改为依赖@qynpm/hooks的useCreateInstanceerp根应用已经接入useInstanceView,可用于验证新实例池链路
构建
npm run build