当前位置: 首页 > article >正文

【封装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

import { createRouter, createWebHistory } from 'vue-router'
import IconView from '../views/IconView.vue'

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: '/',
      name: 'icon',
      component: IconView
    },
    {
      path: '/button',
      name: 'button',
      component: () => import('../views/ButtonView.vue')
    },
    {
      path: '/card',
      name: 'card',
      component: () => import('../views/CardView.vue')
    },
    {
      path: '/dialog',
      name: 'dialog',
      component: () => import('../views/DialogView.vue')
    },
    {
      path: '/collapse',
      name: 'collapse',
      component: () => import('../views/CollapseView.vue')
    },
    {
      path: '/pager',
      name: 'pager',
      component: () => import('../views/PagerView.vue')
    },
    {
      path: '/tooltip',
      name: 'tooltip',
      component: () => import('../views/TooltipView.vue')
    },
    {
      path: '/dropdown',
      name: 'dropdown',
      component: () => import('../views/DropdownView.vue')
    }
  ],
  linkActiveClass: 'active'
})

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组件库完整篇


http://www.kler.cn/news/135422.html

相关文章:

  • 聊一聊go的单元测试
  • vue3的自定义指令
  • WMS仓储管理系统的工作流程是什么
  • ElasticSearch 安装(单机版本)
  • 云原生微服务-理论篇
  • 【运维篇】5.6 Redis server 主从复制配置
  • C++中使用构造函数进行类型转换
  • C++——模板
  • Java中异常的捕获与处理
  • 你听说过“消费多少返利多少的”模式吗?
  • 基于Vue+SpringBoot的医院门诊预约挂号系统 开源项目
  • 【C/PTA】函数专项练习(二)
  • C语言幂级数求近似值
  • JC/T 2339-2015 地暖用相变储能材料及构件检测
  • 游戏报错d3dcompiler_47.dll缺失怎么修复,总结多种修复方法
  • Linux文件目录以及文件类型
  • Iceberg学习笔记(1)—— 基础知识
  • Linux:zip包的压缩与解压
  • C#开发的OpenRA游戏之属性QuantizeFacingsFromSequence(7)
  • 测试用例的设计方法(全):正交实验设计方法|功能图分析方法|场景设计方发
  • 代码随想录 11.16 || 动态规划 LeetCode 583.两个字符串的删除操作、72.编辑距离
  • 网工内推 | 国企、港企网工,年底双薪,NA以上认证即可
  • CentOS 安装etcd集群 —— 筑梦之路
  • SpringCloud -Token传递之Feign
  • 【数据结构与算法】Kadane‘s算法(动态规划、最大子数组和)
  • 趣学python编程 (四、数据结构和算法介绍)
  • 【10套模拟】【7】
  • 【C++上层应用】1. 异常处理
  • 异步爬取+多线程+redis构建一个运转丝滑且免费http-ip代理池 (二)
  • 执行sql,提示Illegal instruction(非法指令)