介绍
Skyler UI 是一个使用 Vue 3 + TypeScript 编写、专门面向 uniapp 小程序的 UI 组件库。
设计目标
- 小程序优先:组件源码使用
view/text等 uniapp 通用标签 +rpx单位,多端编译一致。 - 源码发包:npm 包内容是
src/原始 .vue / .scss / .ts,由消费方的 uniapp 编译器为 mp-weixin / mp-alipay / mp-toutiao / H5 各自生成对应产物。不预编译 Vue runtime bundle —— 那样的产物只能跑在 H5。 - 类型完备:所有组件 props/emits 通过 TypeScript 描述,IDE 即时提示。
- 可主题化:所有 token 暴露为 CSS 变量(
--sky-*),无需重新编译即可换肤。 - 文档即测试:VitePress 文档站点内嵌 web playground,组件源码同时供文档预览与浏览器调试。
设计原则
- API 收敛、不堆砌(参考 Element Plus / Vant)。
- 每个组件 ≤ 200 行,关注单一职责。
- 不做和平台耦合的事(路由、网络层一律不内置)。
浏览器与平台支持
| 平台 | 状态 |
|---|---|
| 微信小程序 | ✅ |
| 支付宝小程序 | ✅ |
| 字节跳动小程序 | ✅ |
| H5(uniapp) | ✅ |
| 现代浏览器(独立 Vue 3 项目) | ✅(搭配 uni-shim + rpx→px 插件) |
在纯 Vue 3 浏览器项目(包括本文档站点)中使用时,
view/text等标签会通过一个轻量的运行时 shim 渲染为div/span,rpx通过 vite postcss 转为px。详见「在 uniapp 中使用」。
反馈
如有 Issue / PR,请到 GitHub 仓库 提交。