选了某个组件库,往往就被锁死在单一框架:今天用 React,明天团队要上 Vue 或 Svelte,库就废了,得重来。想要“写一次设计、多框架复用”的组件库,一直是个痛点。
AgnosticUI 的解法,是做一个框架无关的 UI 组件库,并通过 CLI 让你按组件、按框架把源码装进项目——React、Vue、Svelte、Lit 都能用同一套设计。
项目基本信息
| 信息项 | 详情 |
|---|---|
| 项目名称 | agnosticui |
| GitHub地址 | https://github.com/AgnosticUI/agnosticui |
| 项目描述 | 框架无关、可通过 CLI 按需安装的多框架 UI 组件库 |
| 作者 | AgnosticUI |
| 开源协议 | Apache License 2.0 |
| 开源状态 | 公开 |
| Languages | TypeScript |
| 支持平台 | Web |
| 最后更新 | — |
一、项目介绍
AgnosticUI/agnosticui 是一个框架无关的 UI 组件库,Apache-2.0 协议。它提供按钮、表单、对话框等基础组件,并通过 agnosticui-cli 让你以 init --framework 指定目标框架、用 add 按需装入具体组件的源码。设计 token 与可访问性内置,适合多前端栈、需要统一设计语言的团队。
二、核心优势
- 框架无关:同一套设计支持 React/Vue/Svelte/Lit。
- CLI 按需装:按组件、按框架复制源码进项目。
- 设计 token:统一视觉变量,便于跨框架一致。
- 可访问性:组件内置 a11y 考量。
- Apache-2.0:宽松商用许可。
三、适用场景
- 团队同时维护多个框架的前端。
- 需要统一设计语言又不想锁框架。
- 计划从一框架迁移到另一框架。
- 偏好源码进项目、可改可控。
四、安装教程
初始化并指定框架(以 Vue 为例):
npx agnosticui-cli init --framework vue
npx agnosticui-cli add button也支持 react、lit、svelte。常见报错:CLI 网络拉取失败时检查 npm 源;未指定 framework 会导致装错目标包。
五、使用示例
init 后按需 add 组件,再按框架正常 import:
npx agnosticui-cli init --framework react
npx agnosticui-cli add dialogimport { Button } from '@agnosticui/react'真实效果:同一组件在 React/Vue/Svelte 下外观与交互一致,换框架时设计不丢。
六、常见问题
Q:支持哪些框架?
A:官方支持 React、Vue、Svelte、Lit 四种目标框架。
Q:必须用 CLI 吗?
A:推荐用 CLI 按框架装源码;也可手工引用已发布包。
Q:样式如何控制?
A:内置设计 token,可按需覆盖主题变量。
七、总结
AgnosticUI 用“框架无关 + CLI 按需装源码”的方式,解决了组件库锁死单一框架的痛点,让一套设计跨 React/Vue/Svelte/Lit 复用。对多前端栈、又想要统一设计语言的团队,它是降低重复与迁移成本的好选择;Apache-2.0 协议。
评论 0
还没有评论,来说两句吧。