在快速发展的前端生态中,开发者们一直在寻找既能提高开发效率,又能保证代码质量和用户体验的解决方案。今天,我们很兴奋地向大家介绍 Metis UI —— 一个基于 Tailwind CSS 构建,继承 Ant Design 交互逻辑的现代 React 组件库。
在众多组件库中,Metis UI 独树一帜,它不是简单的重复造轮子,而是在继承优秀设计理念的基础上,带来了全新的开发体验:
Metis UI 基于 Ant Design 久经考验的组件逻辑构建,确保了交互模式的一致性和可靠性。同时,我们抛弃了传统的 CSS-in-JS 方案,全面拥抱 Tailwind CSS ,为开发者带来了前所未有的样式自由度。
import { Button, Input, Form } from 'metis-ui';
// 简洁的 API ,强大的功能
<Button
type="primary"
className="hover:scale-105 transition-transform"
>
自定义样式,轻而易举
</Button>
无需学习复杂的主题配置,直接使用 Tailwind 类名即可实现个性化定制。
interface ButtonProps {
type?: 'primary' | 'default' | 'dashed';
size?: 'small' | 'middle' | 'large';
loading?: boolean;
...
}
每个组件都提供完整的类型定义,让你的开发过程更加安全和高效。
<Button className="bg-gradient-to-r from-blue-500 to-purple-600 hover:from-blue-600 hover:to-purple-700">
渐变按钮
</Button>
利用 Tailwind 的强大功能,轻松实现复杂的样式效果。
# npm
npm install metis-ui
# pnpm (推荐)
pnpm add metis-ui
# yarn
yarn add metis-ui
向你的入口 CSS 文件添加一个 @plugin
以导入 Metis UI 。
@import 'tailwindcss';
@source './node_modules/metis-ui/es';
@plugin 'metis-ui/plugin';
import { Alert } from 'metis-ui';
const App = () => (
<div className="h-screen w-screen">
<Alert type="info" banner message="Hello" description="Welcome to metis-ui" />
</div>
);
export default App;
Metis UI 只针对颜色进行主题定制,默认提供了两套主题:light
和 dark
。您还可以创建自己的自定义主题或修改内置主题。
您可以在 CSS 文件中的 @plugin "metis-ui/plugin"
后添加括号来管理主题,详细介绍。
我们提供了一套开箱即用的企业中后台系统模板,基于 React、react-router、TypeScript、Vite、TailwindCSS、Zustand、faker-js、MSW 等技术栈构建。它内置了开箱即用的数据流、国际化、菜单、模拟数据、权限管理、主题切换等功能,助力企业快速搭建高质量的中后台应用。
├── .husky # Husky 钩子配置目录
├── public # 公共静态资源目录
├── src # 源码目录
│ ├── apis # 服务端接口请求相关
│ ├── assets # 静态资源(图片、SVG 等)
│ ├── components # 通用组件
│ ├── hooks # 自定义 hooks
│ ├── layouts # 页面布局组件
│ ├── locale # 国际化资源
│ ├── mocks # Mock 数据与服务
│ ├── pages # 页面组件
│ ├── store # Zustand 状态管理
│ ├── types # TypeScript 类型定义
│ ├── utils # 工具函数与工具类
│ ├── loading.tsx # 全局 Loading 组件
│ ├── main.tsx # 应用入口文件
│ ├── routes.tsx # 路由和菜单配置
│ └── vite-env.d.ts # Vite 环境类型声明
├── .env # 环境变量配置文件
├── .lintstagedrc # lint-staged 配置文件
├── .prettierignore # Prettier 忽略文件配置
├── .prettierrc # Prettier 代码格式化配置
├── commitlint.config.js # 提交规范校验配置
├── eslint.config.js # ESLint 代码规范配置
├── index.html # 项目入口 HTML
├── package.json # 项目依赖与脚本配置
├── tailwind.css # TailwindCSS 全局样式入口
├── tsconfig.app.json # TS 应用配置
├── tsconfig.json # TS 根配置
├── tsconfig.node.json # TS Node 配
tips: 网站匀部属在 Github Pages, 访问可能需要梯子
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.