1000 B
1000 B
本目录是 frontend_v2 的 monorepo packages,所有子包通过 workspace:* 相互依赖并由顶层 pnpm/npm workspace 统一版本管理(各包版本号同步为 2.2.0)。
- 依赖分层:@sa/utils 作为最底层纯函数库被 alova、axios、color、hooks、materials 共同引用;@sa/axios 在 hooks 之上提供请求封装;alova 与 axios 并列提供双实现,由上层应用按需选择。
- 发布契约:每个包均声明 typesVersions + exports 字段,将 src/index.ts 映射到包根导出,并暴露如 alova 的多入口(./fetch、./client、./mock),保证 IDE 类型推导与 tree-shaking 一致。
- 构建/运行解耦:@sa/scripts 仅作为 devDependency 暴露 bin 命令 sa,不参与运行时依赖,由项目根或子应用直接调用,避免污染业务包体积。
- UI 层组合:@sa/color 与 @sa/uno-preset 分别输出颜色计算与 UnoCSS 自定义预设,@sa/materials 基于它们提供 Vue 组件,三者共同构成视觉系统。