网站首页 > 技术文章 正文
老牌的组件库
相信 组件库 这东西大家都不陌生吧? 组件库 其实就是大佬们提前封装好的一些组件的集合体,我们在项目中可以直接拿来使用,无论是 Element-UI 还是 Ant-Design,想使用无非就是分几步:
- NPM安装
- 页面引入
- 使用组件
这也是我们现在大部分项目都在使用组件库的方式,但是说实话,大家真的苦这种方式久矣
苦组件库久矣?
为什么说苦组件库久矣呢?当我们将Element-UI、Ant-Design这类组件库后,他们的代码会在 node_modules中
但是大家都懂,组件库的功能或者样式不一定符合我们项目业务的要求,但是我们又不能直接修改node_modules中的源码,那咋办呢?
其实主要就是两点:
- 组件库的功能不符合业务需要咋办?
- 组件库的样式不符合UI设计稿咋办?
其实还是有办法的:
- 样式不满意,我们可以在页面中去使用样式覆盖
- 功能不满意,我们可以给组件库提issue,然后等待作者去增加;或者可以通过一些类似pacth-package这种工具去给node_modules中的源码打补丁,从而达到修改源码的效果
但是始终不是我想要的~我以前就有一个想法~
为啥不直接把源码复制到项目中?
我以前就有一个想法,我们使用一个组件库或者库的时候,为啥不直接把他们的源码复制到项目中呢?
就拿组件库来说吧,比如我项目只需要使用Buttom、Input、Select这些组件,那我可以直接从组件库中把这些组件的源码复制到项目来,那我既可以使用这些组件,我又可以随便改这些组件的源码样式,从而达到我想要的效果
可惜,理想很美好,现实很骨感~因为这些组件库里的代码互相引用关系很复杂,所以你不可能很轻松把你想要的个别组件源码复制到项目来,所以基本没人这么做~
既然自己复制不了,那有没有组件库能提供这样的命令呢,比如运行一个ui add Button就可以把组件库的Button组件源码复制到项目中呢?
还真有,无头组件库(Headless Component Libraries) 横空出世,它是一种新兴的前端开发模式,其核心在于将组件的逻辑和样式分离。这种开发模式允许开发者在保持组件功能性的同时,完全控制组件的外观和风格,而不受特定UI框架的限制,优点有:
- 高度的灵活性和可定制性
- 轻量级和性能优化
- 提高开发效率
- 高度的可组合性
总结为一句话就是:无头组件库为你提供组件的基本架子,你可以随心所欲修改架子,修改样式,修改逻辑,已达到你的要求
Shadcn-UI
一个神级的无头组件库,无头组件库中的第一把交椅!!!
它就是 Shadcn-UI!!!在去年的最受欢迎的 JavaScript 库中,Shadcn-UI 夺下第一名,稳压Element-UI、Ant-Deisgn等一众老牌组件库
截止目前,github 上已经有 67k stars
Shadcn-UI 使用了 tailwindcss来当做预设CSS,所以当你自定义样式时会非常方便
目前React、Vue 版本都有
React 版本文档:https://ui.shadcn.com
Vue版本文档:https://www.shadcn-vue.com/
想要使用 Shadcn-UI 你得先初始化一些配置,比如 tailwindcss
接着你只需要使用命令
npx shadcn-ui@latest init
比如你想使用 Button 组件,你可以使用命令行
npx shadcn-ui@latest add button
这样它就会把Button 这个组件放到你的项目中去
使用的话可以直接引入使用,你如果对他预设的 CSS 和 功能不满意,你也可以直接去到 button.tsx 中去修改
猜你喜欢
- 2025-05-02 Aceternity UI:打造酷炫界面的利器
- 2025-05-02 管理系统 UI 设计,怎样让操作效率提升 50%?
- 2025-05-02 Web Components实践:如何搭建一个框架无关的AI组件库
- 2025-05-02 可视化自定义 100+ 组件 UI 库(可视化ui界面设计软件)
- 2025-05-02 腾讯Kuikly跨端框架开源,可使用Kotlin创建安卓、iOS等应用
- 2025-05-02 WebTUI:将终端用户界面(TUI)之美带到浏览器的CSS库
- 2025-05-02 【推荐】一个基于 SpringBoot 框架开发的 OA 办公自动化系统
- 2025-05-02 抖音前端UI框架开源了,亮瞎我的钛合金!
- 2024-09-12 前端又出新框架了,你还学得动吗?
- 2024-09-12 跨屏平台发布跨屏响应式前端UI框架crossify 1.0
你 发表评论:
欢迎- 06-24发现一款开源宝藏级工作流低代码快速开发平台
- 06-24程序员危险了,这是一个 无代码平台+AI+code做项目的案例
- 06-24一款全新的工作流,低代码快速开发平台
- 06-24如何用好AI,改造自己的设计工作流?
- 06-24濮阳网站开发(濮阳网站建设)
- 06-24AI 如何重塑前端开发,我们该如何适应
- 06-24应届生靠这个Java简历模板拿下了5个offer
- 06-24服务端性能测试实战3-性能测试脚本开发
- 567℃几个Oracle空值处理函数 oracle处理null值的函数
- 566℃Oracle分析函数之Lag和Lead()使用
- 550℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 545℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 543℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 536℃【数据统计分析】详解Oracle分组函数之CUBE
- 526℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 519℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)