Element-ui源码解析(一):项目目录解析

element,ui,源码,解析,项目,目录 · 浏览次数 : 216

小编点评

**准备工作** 1. 下载原代码:使用 npm 命令下载 Element UI 的源代码:``` npm i element-ui -S ``` 2. 找到代码:代码主要位于 `node_modules\element-ui\packages` 目录中。 3. 目录结构解析: - `1.lib`:编译后的 JavaScript 和 CSS 文件,用于发布和部署版本。 - `2.packages`:组件的源代码,每个组件独立存放。 - `3.src`:包含所有库的源代码,包括通用的代码、工具函数和全局配置文件。 - `4.types`: TypeScript 类型定义文件,提供类型提示和类型检查支持。 **寻找代码** 1. 在 `node_modules\element-ui\packages` 目录中搜索组件的名称。例如,要寻找“button”组件的源代码,搜索 “button”。 2. 在代码中查找组件的路径。例如,对于“button”组件,路径将是 `node_modules\element-ui\packages\src\components\button\index.js`。 3. 访问代码的 URL 即可获取该组件的源代码。

正文

开始看原码了,我们要开始一些准备工作,

既然是拆代码,那么我们要先把代码搞到手

 

1.如何下载原码

 随便开个项目

npm i element-ui -S

将源码下载到本地

随后在node_modules中找到element-ui文件夹

 

开搞

 

2.目录结构解析

目录结构如下:

1.lib:该目录包含了 Element UI 库的编译后的可用文件,通常用于发布和部署的版本。

它包含了 JavaScript 和 CSS 文件,以及一些字体和图标资源。

2.packages:该目录包含了 Element UI 库的源代码,每个组件都单独分布在一个目录中。

这些目录包含了组件的 JavaScript 文件和样式文件以及其他相关文件,用于组件的开发和扩展。

3.src:该目录包含了 Element UI 库的整体源代码。它包含了一些通用的代码、工具函数以及一些全局配置文件。

4.types:该目录包含了 Element UI 库的 TypeScript 类型定义文件。

这些文件用于给开发者提供类型提示和类型检查的支持,以增强项目的可维护性和开发效率。

 

3.找到我想要的源码

然后我们尝试着去找源码,比如我想看button的源码

那么我们去packages目录下去找,(直接搜索也行,直接搜索组件的名字去掉el)

组件的原码:

 

css源码:

 

 

 

 

 

 

 

与Element-ui源码解析(一):项目目录解析相似的内容:

Element-ui源码解析(一):项目目录解析

开始看原码了,我们要开始一些准备工作, 既然是拆代码,那么我们要先把代码搞到手 1.如何下载原码 随便开个项目 npm i element-ui -S 将源码下载到本地 随后在node_modules中找到element-ui文件夹 开搞 2.目录结构解析 目录结构如下: 1.lib:该目录包含了

Element-ui源码解析(二):最简单的组件Button

好家伙,为了有足够的能力去开发组件,先研究一下别人的组件 开始抄袭模仿我们的行业标杆element-ui 找到Button组件的源码 只有三个文件,看上去非常易读,开搞 其中最重要的部分,自然是button.vue

element-ui源码修改记录

## 1、介绍 本项目是基于element-ui@2.15.14的基础上,二次修改源码,封装的ui组件,在此特别感谢[elemen-ui组件库](https://github.com/ElemeFE/element) ## 2、更新功能 ### 2.1在el-cascader组件的基础上,添加了只多

QShop商城-开发规范

QShop商城-项目介绍 QShop商城,是全新推出的一款轻量级、高性能、前后端分离的电商系统,支持微信小程序,前后端源码100%开源,完美支持二次开发,让您快速搭建个性化独立商城。 技术架构:.Net6/7、WebAPI、Swagger、NUnit、VUE、Element-UI、Ant Desig

element-ui使用el-date-picker日期组件常见场景

开始 最近一直在使用 element-ui中的日期组件。 所以想对日期组件常用的做一个简单的总结; 1.处理日期组件选择的时候面板联动问题 2.限制时间范围 解除两个日期面板之间的联动 我们发现2个日期面板之间其实是有联动关系的; 开始时间面板和结束时间面板始终只能相邻; 不能出现开始时间选择3月,

WPF实现Element UI风格的日期时间选择器

### 背景 业务开发过程中遇到一个日期范围选择的需求,和Element UI的DateTimePicker组件比较类似,由两个日历控件组成,联动选择起始时间和结束时间。 ### 问题 WPF中提供了一个`DatePicker`的控件,主要由`DatePickerTextBox`、`Button`和

跟我一起学习和开发动态表单系统-前端用vue、elementui实现方法(3)

基于 Vue、Element UI 和 Spring Boot + MyBatis 的动态表单系统前端实现解析 在现代企业信息系统中,动态表单是一种非常常见的功能。它可以根据业务需求灵活地调整表单结构,以满足不同的数据收集和展示需求。在本文中,我们将探讨一种基于 Vue、Element UI 和 S

我的第一个项目(十四) :完成数据保存功能(前端,增查改接口)

好家伙,天天拖,终于写完了 代码已开源(Gitee) PH-planewar: 个人开发的全栈小游戏 前端:vue2 + element-ui 后端: Springboot + mybatis-plus 数据库: mysql 目前实现功能: 1.注册登陆 2.游戏数据保存 3.游戏运行 (gitee

我的第一个项目(十五) :完成数据保存功能(后端,改update)

好家伙, 代码已开源(Gitee) PH-planewar: 个人开发的全栈小游戏 前端:vue2 + element-ui 后端: Springboot + mybatis-plus 数据库: mysql 目前实现功能: 1.注册登陆 2.游戏数据保存 3.游戏运行 (gitee.com) 后端这

CAS前后端分离解决方案

CAS前后端分离解决方案 关于CSS服务器的搭建和整合SpringBoot参考:CAS5.3服务器搭建与客户端整合SpringBoot以及踩坑笔记 环境与需求 后端:springboot 前端: vue + element UI 在登录后之后登录状态在系统中自主控制。 问题 当接口在CAS过滤器中时