• 【封装UI组件库系列】搭建项目及准备工作


    封装UI组件库系列第一篇·搭建项目

    前言

    🌟搭建项目

    创建工程

    基本结构

     1.创建8个组件展示页面

    ​ 2.配置路由文件router/index.js

     3.页面布局

    🌟总结


    前言

    在前端开发中,大家可能已经用过各种各样的UI组件库了,现在市面上热门的有Element-uiAnt Design等等,这些即插即用的组件库确实大大提升了开发效率,避免了很多的重复劳动,但这些组件库再怎么完善,又怎么能满足得了我们可爱的产品经理呢?所以工作中难免会需要开发公司内部的UI组件库,或者基于已有组件库进行二开。

    【封装UI组件库系列】文章,将从0开始--》搭建项目--》封装八大经典功能组件--》打包组件库--》将组件库发布至npm--》使用自己封装的组件库技术方面使用的是Vue3 + Vite + Sass 来完成一个模仿Element Plus的组件库。最终完成效果如下:

     

    🌟搭建项目

    创建工程

    组件库使用Vue3+Vite搭建,所以第一步先创建工程:

    pnpm create vue@latest

    我使用的是pnpm包管理工具,这个根据个人情况来就行npm、yarn等都可 。

    项目创建完成后 pnpm i 安装依赖,pnpm dev启动项目:

    基本结构

    接下来我们将以下图为最终效果来一步步实现:

     1.创建8个组件展示页面:

     2.配置路由文件router/index.js

    1. import { createRouter, createWebHistory } from 'vue-router'
    2. import IconView from '../views/IconView.vue'
    3. const router = createRouter({
    4. history: createWebHistory(import.meta.env.BASE_URL),
    5. routes: [
    6. {
    7. path: '/',
    8. name: 'icon',
    9. component: IconView
    10. },
    11. {
    12. path: '/button',
    13. name: 'button',
    14. component: () => import('../views/ButtonView.vue')
    15. },
    16. {
    17. path: '/card',
    18. name: 'card',
    19. component: () => import('../views/CardView.vue')
    20. },
    21. {
    22. path: '/dialog',
    23. name: 'dialog',
    24. component: () => import('../views/DialogView.vue')
    25. },
    26. {
    27. path: '/collapse',
    28. name: 'collapse',
    29. component: () => import('../views/CollapseView.vue')
    30. },
    31. {
    32. path: '/pager',
    33. name: 'pager',
    34. component: () => import('../views/PagerView.vue')
    35. },
    36. {
    37. path: '/tooltip',
    38. name: 'tooltip',
    39. component: () => import('../views/TooltipView.vue')
    40. },
    41. {
    42. path: '/dropdown',
    43. name: 'dropdown',
    44. component: () => import('../views/DropdownView.vue')
    45. }
    46. ],
    47. linkActiveClass: 'active'
    48. })
    49. export default router

    3.页面布局

    在App.vue中将页面基本布局完善

    样式会使用sass,所以需要pnpm add -D sass 

     .active 其实就是选中样式,上面在路由文件配置的linkActiveClass: 'active' ,就是使用的这里的样式。

    这时启动项目会发现如下图:

    这是因为在main.js中引用了默认样式import './assets/main.css'

    打开main.css文件,删去我们用不到的样式,剩下如图:

     再打开项目得到如下图效果,那么项目的基本布局就完成了。

    本篇将项目以及页面搭建好后,下一篇就是使用Sass语法模仿Element Plus 创建主题色彩,以及重置样式。

     

    🌟总结

    【封装UI组件库系列】文章会持续更新,将带着大家从0开始--》搭建项目--》封装八大经典功能组件--》打包组件库--》将组件库发布至npm--》最后使用自己封装的组件库。如果文中出现有瑕疵的地方各位通过评论或者私信联系我,我们一起进步!该系列文章建议从第一篇开始看,系列专栏地址:从零开始封装UI组件库完整篇

  • 相关阅读:
    【Confluence】使用start-confluence.sh命令重启后提示找不到网页HTTP404
    【C++】手撕STL系列——stack,queue篇
    拯救“消失的她”——双系统grub完美恢复方案
    深度交流 | 能链科技兰春嘉博士受邀参加中国建设银行内训讲座
    市面上主流源表软件全面对比,总有一款适合你!
    快速构建电脑软件系统 、超好用经典的网页推荐汇总
    Day25、数据库
    代码随想录训练营day51, 买卖股票最佳时机含冷冻期, 买卖股票最佳时机含手续费
    Vue中如何使用Eachers
    什么是自动化测试,一文吃透自动化测试【实战总结/建议收藏】
  • 原文地址:https://blog.csdn.net/G_ing/article/details/134496088