选了某个组件库,往往就被锁死在单一框架:今天用 React,明天团队要上 Vue 或 Svelte,库就废了,得重来。想要“写一次设计、多框架复用”的组件库,一直是个痛点。
AgnosticUI 的解法,是做一个框架无关的 UI 组件库,并通过 CLI 让你按组件、按框架把源码装进项目——React、Vue、Svelte、Lit 都能用同一套设计。

项目基本信息

信息项详情
项目名称agnosticui
GitHub地址https://github.com/AgnosticUI/agnosticui
项目描述框架无关、可通过 CLI 按需安装的多框架 UI 组件库
作者AgnosticUI
开源协议Apache License 2.0
开源状态公开
LanguagesTypeScript
支持平台Web
最后更新—

一、项目介绍

AgnosticUI/agnosticui 是一个框架无关的 UI 组件库,Apache-2.0 协议。它提供按钮、表单、对话框等基础组件,并通过 agnosticui-cli 让你以 init --framework 指定目标框架、用 add 按需装入具体组件的源码。设计 token 与可访问性内置,适合多前端栈、需要统一设计语言的团队。

二、核心优势

  1. 框架无关:同一套设计支持 React/Vue/Svelte/Lit。
  2. CLI 按需装:按组件、按框架复制源码进项目。
  3. 设计 token:统一视觉变量,便于跨框架一致。
  4. 可访问性:组件内置 a11y 考量。
  5. 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 dialog
import { 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 协议。