shadcn-vue:可复制进项目的 Vue 组件,不被 API 绑死

shadcn-vue 是 shadcn/ui 的 Vue 3 移植版,采用「用 CLI 把组件源码复制进项目」的模式——代码归你所有、可随意改。它基于 Reka UI 与 Tailwind,适合不想被组件库 API 绑死的项目。
它解决什么问题
用现成组件库常被它的 API 和样式锁死,想改个交互或外观往往要绕路甚至提 PR 等官方。
但又不想从零造轮子,需要一套成熟交互原语做底,自己只负责贴皮肤。
核心能力
| 能力 | 具体能做到什么 |
|---|---|
| 组件归你所有 | CLI 把源码复制进项目,可随意改,无库 API 绑死 |
| 基于 Reka UI | 底层是无头组件,交互与无障碍可靠 |
| Tailwind 驱动 | 样式全用 Tailwind 写,统一在你的设计体系内 |
| 完全可控 | 不背组件库升级包袱,想怎么改就怎么改 |
| 无订阅费用 | MIT 免费,复制进来即可商用,无授权费 |
| 社区模式 | 跟随 shadcn 生态,组件与示例持续丰富 |
复制而非依赖
shadcn-vue 不让你 npm 装一个黑盒库,而是用 CLI 把组件源码复制进项目,代码归你所有、可随意改,不会被组件库 API 和升级节奏绑死。
它基于 Reka UI(无头组件)加 Tailwind,样式全在你掌控中。代价是上游更新要自己手动 add 同步,且团队必须熟悉 Tailwind,否则维护会吃力。
同类工具怎么选
| 工具 | 授权 | 差别在哪 |
|---|---|---|
| Element Plus | MIT 免费 | 开箱即用黑盒库,不可随意改源码 |
| Naive UI | MIT 免费 | 成品库易上手,但受 API 与样式约束 |
| Reka UI | MIT 免费 | 其底层无头库,shadcn-vue 建在其上 |
谁适合用
- 想完全可控、不愿被组件库 API 绑死的团队
- 已用 Tailwind,要统一设计体系的 Vue 项目
- 愿意自己维护组件源码、跟进上游的开发者
怎么开始
- 执行 npx shadcn-vue@latest init 初始化配置文件。
- 用 npx shadcn-vue@latest add button 把组件源码复制进项目。
- 基于 Reka UI + Tailwind,先配好 Tailwind 环境。
- 组件归你所有,可随意改源码,无库 API 绑死。
- 上游更新要自己手动 add 同步,团队需熟 Tailwind。
常见问题
组件进项目后谁维护?
源码归你,上游更新要自己手动 add 同步,不是自动升级。
一定要会 Tailwind?
是,样式全用 Tailwind 写,团队不熟会增加维护成本。
和 shadcn/ui 关系?
是 shadcn/ui 的 Vue 3 移植版,模式与理念一致。
收费吗?
MIT 免费,复制进项目的组件可商用、可随意改。
授权与合规
采用 MIT 协议开源免费,复制进项目的组件源码归你所有、可商用可改;无订阅、无授权费。 官网:www.shadcn-vue.com。
资源信息
界面语言
英文
授权方式
开源免费
适用平台
Web
获取方式
直链下载
资源更新
2026-09-19
页面更新
2026-09-12
↓ 获取资源
点击下方按钮直接开始下载。
立即下载
直链
https://www.shadcn-vue.com/