以后用 ElementUI、Ant-Deisgn 的前端只会越来越少

前言

大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心~

老牌的组件库

相信 组件库 这东西大家都不陌生吧? 组件库 其实就是大佬们提前封装好的一些组件的集合体,我们在项目中可以直接拿来使用,无论是 Element-UI 还是 Ant-Design,想使用无非就是分几步:

  • NPM安装

  • 页面引入

  • 使用组件

127c1da964ae3c661c8e7280f7e8c457.png

这也是我们现在大部分项目都在使用组件库的方式,但是说实话,大家真的苦这种方式久矣

苦组件库久矣?

为什么说苦组件库久矣呢?当我们将Element-UI、Ant-Design这类组件库后,他们的代码会在 node_modules

但是大家都懂,组件库的功能或者样式不一定符合我们项目业务的要求,但是我们又不能直接修改node_modules中的源码,那咋办呢?

b8c96a41d00d54ff24ff9055bfd2737b.png

其实主要就是两点:

  • 组件库的功能不符合业务需要咋办?

  • 组件库的样式不符合UI设计稿咋办?

其实还是有办法的:

  • 样式不满意,我们可以在页面中去使用样式覆盖

  • 功能不满意,我们可以给组件库提issue,然后等待作者去增加;或者可以通过一些类似pacth-package这种工具去给node_modules中的源码打补丁,从而达到修改源码的效果

但是始终不是我想要的~我以前就有一个想法~

为啥不直接把源码复制到项目中?

我以前就有一个想法,我们使用一个组件库或者库的时候,为啥不直接把他们的源码复制到项目中呢?

就拿组件库来说吧,比如我项目只需要使用Buttom、Input、Select这些组件,那我可以直接从组件库中把这些组件的源码复制到项目来,那我既可以使用这些组件,我又可以随便改这些组件的源码样式,从而达到我想要的效果

88fe6d9a94e38741c5e9434961cc48d5.png

可惜,理想很美好,现实很骨感~因为这些组件库里的代码互相引用关系很复杂,所以你不可能很轻松把你想要的个别组件源码复制到项目来,所以基本没人这么做~

既然自己复制不了,那有没有组件库能提供这样的命令呢,比如运行一个ui add Button就可以把组件库的Button组件源码复制到项目中呢?

还真有,无头组件库(Headless Component Libraries) 横空出世,它是一种新兴的前端开发模式,其核心在于将组件的逻辑和样式分离。这种开发模式允许开发者在保持组件功能性的同时,完全控制组件的外观和风格,而不受特定UI框架的限制,优点有:

  • 高度的灵活性和可定制性

  • 轻量级和性能优化

  • 提高开发效率

  • 高度的可组合性

总结为一句话就是:无头组件库为你提供组件的基本架子,你可以随心所欲修改架子,修改样式,修改逻辑,已达到你的要求

Shadcn-UI

一个神级的无头组件库,无头组件库中的第一把交椅!!!

它就是 Shadcn-UI!!!在去年的最受欢迎的 JavaScript 库中,Shadcn-UI 夺下第一名,稳压Element-UI、Ant-Deisgn等一众老牌组件库

3cb7ee6ba4618ed352984acb40d08cf7.png

截止目前,github 上已经有 67k stars

e267f80aff782a052be84824ec9747c9.png

Shadcn-UI 使用了 tailwindcss来当做预设CSS,所以当你自定义样式时会非常方便

目前React、Vue 版本都有

React 版本文档:https://ui.shadcn.com

Vue版本文档:https://www.shadcn-vue.com/

f8f3a8746dfb9a9df3f0f713944c0efd.png

想要使用 Shadcn-UI 你得先初始化一些配置,比如 tailwindcss

7cec3a0feb0f945357f7a6a982e3dbaa.png

接着你只需要使用命令

npx shadcn-ui@latest init

比如你想使用 Button 组件,你可以使用命令行

npx shadcn-ui@latest add button

这样它就会把Button 这个组件放到你的项目中去

5076edd078c7450ded8b39765616cb37.png


14338d5d370bc2d196d4174161d76ee0.png


使用的话可以直接引入使用,你如果对他预设的 CSS 和 功能不满意,你也可以直接去到 button.tsx 中去修改

d32f035b171a57fed038c3f48e4e5b4f.png

- END -

如果您关注前端+AI 相关领域可以扫码进群交流

4e1f837b4fd20efdca8cbe32c92abfa8.png 07c399649763ea0569fa0f14fb1492ab.jpeg

扫码进群2或添加小编微信进群1😊

关于奇舞团

奇舞团是 360 集团最大的大前端团队,非常重视人才培养,有工程师、讲师、翻译官、业务接口人、团队 Leader 等多种发展方向供员工选择,并辅以提供相应的技术力、专业力、通用力、领导力等培训课程。奇舞团以开放和求贤的心态欢迎各种优秀人才关注和加入奇舞团。

75a432de751622b2e45dd3c278377421.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值