做 UniApp + Vue3 跨端开发的朋友,大概率都被这些问题折磨过:一套代码要适配 H5、微信 / 支付宝小程序、App,样式兼容改到崩溃;组件库要么依赖臃肿、要么 TS 类型残缺;打包体积过大、主题定制繁琐、暗黑模式接入复杂……
别再内耗了!今天给大家安利一款专为 UniApp + Vue3 打造的多端 UI 神器 ——sard-uniapp,零依赖、全 TS、117+ 组件开箱即用,真正实现一套代码高效交付多端应用。
一、先搞懂:sard-uniapp 凭什么成为跨端首选?
它不是普通的 UI 组件拼凑,而是面向生产级项目的多端兼容解决方案,核心优势直接拉满:
🧩 117+ 高质量组件:全覆盖表单、弹窗、导航、布局、展示等移动端场景 🚀 一套代码多端运行:完美支持 H5 / 微信小程序 / 支付宝小程序 / App(不支持 nvue/uvue) 🌿 按需引入 + Tree Shaking:用到才打包,大幅缩减包体积 🔧 TypeScript 全量支持:完整类型定义,开发无歧义、更安全 🎨 主题自由定制:CSS 变量一键改色,轻松适配品牌风格 🌙 暗黑模式一键切换:无需复杂逻辑,引入文件即用 🚫 零外部依赖:不依赖第三方 npm 包,接入零负担、稳定性拉满 🧪 高测试覆盖率:单元测试超 80%,上线更放心 📄 MIT 开源协议:自由使用、二次开发无限制
二、上手前:先把基础环境备齐
想要丝滑使用,环境版本别踩坑:
Node.js ≥ v22.22.2 包管理器:推荐 pnpm,也可用 npm/yarn 编辑器:VS Code / HBuilderX 二选一 项目框架:必须是 UniApp + Vue3 项目
三、5 分钟极速安装 + 配置(两种方案任选)
1. 一键安装组件库
项目根目录执行命令,秒速安装:
# npmnpm i sard-uniapp# pnpm(推荐)pnpm add sard-uniapp2. 方案一:全局引入(新手首选)
在入口文件 main.ts 直接注册,全项目可用:
import { createSSRApp } from'vue'import App from'./App.vue'import Sard from'sard-uniapp'// 引入全局样式import'sard-uniapp/dist/index.css'exportfunctioncreateApp() {const app = createSSRApp(App)// 全局注册组件库 app.use(Sard)return { app }}3. 方案二:按需引入(进阶优化)
用 unplugin-vue-components 自动引入,不用手动 import,打包更小:1)安装插件
npm i unplugin-vue-components -D2)配置 vite.config.ts
import { defineConfig } from'vite'import Components from'unplugin-vue-components/vite'import { SardResolver } from'sard-uniapp/resolver'exportdefault defineConfig({ plugins: [ Components({ resolvers: [SardResolver()], }), ],})配置完成后,模板里直接用组件,自动引入、零冗余代码。
四、实战演示:组件拿来就用,无需兼容
1. 基础按钮(多端样式完全一致)
<template><viewclass="demo-box"><s-buttontype="primary">主要按钮</s-button><s-buttontype="success">成功按钮</s-button><s-buttontype="warning">警告按钮</s-button><s-buttontype="danger">危险按钮</s-button><s-buttondisabled>禁用按钮</s-button><s-buttonloading>加载中</s-button></view></template><stylescoped>.demo-box {padding: 20rpx;display: flex;flex-wrap: wrap;gap: 20rpx;}</style>2. 表单组件(业务必备,开箱即用)
<template><s-formv-model="form"label-width="120rpx"><s-form-itemlabel="用户名"><s-inputv-model="form.username"placeholder="请输入用户名" /></s-form-item><s-form-itemlabel="密码"><s-inputv-model="form.password"type="password"placeholder="请输入密码" /></s-form-item><s-form-item><s-buttontype="primary"block @click="submit">提交</s-button></s-form-item></s-form></template><scriptsetuplang="ts">import { ref } from'vue'const form = ref({ username: '', password: '' })const submit = () =>console.log('表单数据:', form.value)</script>五、高阶功能:主题 + 暗黑模式一键搞定
1. 主题定制(CSS 变量直接改)
只需修改根变量,全局样式同步更新:
:root {--s-color-primary: #1989fa; /* 主色 */--s-color-success: #07c160; /* 成功色 */--s-color-warning: #ff976a; /* 警告色 */--s-color-danger: #ee3f3f; /* 危险色 */}2. 暗黑模式(一行类名切换)
根元素绑定 dark 类,组件自动适配暗色:
<viewclass="app":class="{ dark: isDark }"><!-- 你的页面内容 --></view>六、开发 → 调试 → 打包,全流程顺滑
1. 本地开发(贡献 / 二次开发)
# 克隆仓库git clone https://github.com/sutras/sard-uniapp.git# 安装依赖npm install# 启动开发环境npm run dev演示地址:http://localhost:5173/mobile/[1] 文档地址:http://localhost:7761/[2]
2. 多端测试
覆盖全场景验证一致性:
桌面 / 移动端浏览器 微信 / 支付宝开发者工具 + 真机 安卓 /iOS/ 鸿蒙模拟器 + 真机
3. 打包发布
# 组件库打包npm run build# 文档站点打包npm run build:site# 发布到 npmnpm run release# App 打包:HBuilderX → 发行 → App-Android/iOS 云打包七、这些项目,用它直接起飞
急需快速开发的多端应用 追求界面一致性的团队项目 Vue3 + UniApp 技术栈的移动端产品 对TS 类型安全、主题定制、暗黑模式有强需求的应用
最后总结
sard-uniapp 以 Vue3 + UniApp 为底座,靠多端兼容、组件丰富、零依赖、TS 友好四大核心,彻底解决跨端 UI 开发的兼容与效率痛点。
不管是个人练手项目,还是企业级生产应用,都能帮你省去重复造轮子的时间,专注业务逻辑,快速交付高质量多端产品。
资源直达(建议收藏)
npm 地址:https://www.npmjs.com/package/sard-uniapp[3] GitHub:https://github.com/sutras/sard-uniapp[4] 官方文档:https://sard.wzt.zone/[5]
你在 UniApp 开发中还用过哪些好用的组件库?欢迎在评论区分享交流~
autolink: https://link.wtturl.cn/?target=http%3A%2F%2Flocalhost%3A5173%2Fmobile%2F&scene=im&aid=497858&lang=zh
[2]autolink: https://link.wtturl.cn/?target=http%3A%2F%2Flocalhost%3A7761%2F&scene=im&aid=497858&lang=zh
[3]autolink: https://link.wtturl.cn/?target=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fsard-uniapp&scene=im&aid=497858&lang=zh
[4]autolink: https://link.wtturl.cn/?target=https%3A%2F%2Fgithub.com%2Fsutras%2Fsard-uniapp&scene=im&aid=497858&lang=zh
[5]autolink: https://link.wtturl.cn/?target=https%3A%2F%2Fsard.wzt.zone%2F&scene=im&aid=497858&lang=zh
夜雨聆风