用最简洁的方式掌握的组件库设计

97 阅读2分钟

前言

一个前端工程师能够在复杂的前端项目中胜任工作,提供高质量的代码和用户体验。不仅要具备技术深度,还需要有良好的团队协作、学习和问题解决能力。下面用最简洁的方式介绍组件库开发

目录介绍

image.png

目录流程分析

example文件夹用来搭建项目;lib文件夹用来存放打包后的文件;packages存放组件源代码;src项目整体逻辑文件

组件库逻辑

安装的依赖

基本开发依赖

webpack webpack-cli webpack-dev-server html-webpack-plugin vue vue-loader vue-template-compiler

css构建依赖

gulp gulp-cli gulp-sass gulp-sass-glob sass node-sass gulp-postcss postcss cssnano autoprefixer

example文件夹

然后example文件夹存放vue项目文件,配置好vue项目所需的webpack文件后在index.js入口文件中(假设组件库名为PUI)如下:

packages文件夹

packages文件夹存放vue组件库所有的组件文件,每个组件对应一个index.js文件用来导出,内容如下:

image.png

image.png packages文件下index.js用来做一个全量导出

image.png

src文件夹主逻辑区

src文件夹下面主要是导入packages文件下内容并进行use插件操作,这样当我们在vue中使用的时候,插件注册就会调用packages中的插件注册操作(上图packages中的install方法中) image.png

组件库生产环境与发布

上面我们已经完成组件库的基本设计,但导入都是相对路径,并不能完成跨项目引入组件库的能力;我们需要构建组件库的安装包;所以要为当前PUI定义生产环境配置;目的是实现输出一份受任何项目都可以引入的静态资源,实现全量导入,按需导入,实现项目对组件库的灵活运用; 把packages中所有的组件文件进行单独打包,用于极致的按需导入组件系统,打包到lib文件夹中;

css构建

在gulpfile.js配置文件下把css构建到lib文件夹下的styles下

本地发布和线上发布

第一种方式:本地打包tgz文件,如下图tgz文件类型,然后npm 安装即可

image.png 第二种方式:发布到npm私服中托管 verdaccio 先登录 然后publish发布即可完成

总结

整个组件库从创建到开发到上线整个流程基本完成,其中还有很多细致操作需要完善,本篇文章用最简洁直白的描述意在让读者感受一个类似饿了么组件库简单的实现的大体流程是怎样的,希望读者能从中受到一些启发