vue-elemnt-admin源码学习
vue-elemnt-admin源码学习
vue-element-admin是一个基于vue,element-ui的集成的管理后台。它的安装部分就不说了,按照官网的步骤一步步就可以执行了。
https://panjiachen.github.io/vue-element-admin-site/zh/
单元测试
我们可以看到vue-element-admin的单元测试是使用jtest.config.js来进行测试
vue和jtest的结合就是和官网的一样:https://cn.vuejs.org/v2/guide/unit-testing.html
jtest的官网:https://github.com/facebook/jest#getting-started
我们可以看到,tests文件夹中
jtest对应的文件有jtest.config.js,这里面的配置信息在这个页面可以找到:https://jestjs.io/docs/zh-Hans/configuration
可以稍微修改下jest.config.js,将collectCoverage: true, 可以再设置一下coverageReporter

于是可以运行 npm run test:unit

在控制台可以打出覆盖率报告,也可以在tests/unit/converage下面打出这些覆盖率报告。
jsconfig.json
这个是给IDE vscode使用的配置文件。
plop机制
plop机制是自动生成vue文件的一种机制。
plop相关的有几个地方,一个是package.json里面的npm run new。一个是plop.js中定义了3个生成器:view,store,component。
这三个生成器在文件夹plop-template中都有定义,定义了一个prompt.js和一个index.hbs。hbs是模版文件,prompt是交互文件,所以我们可以在命令行中使用npm run new 来初始化一个vue文件。

plopjs的文档地址:https://plopjs.com/documentation/
postcss.config.js
postcss.config.js说明可以使用postcss插件来进行配置。
关于为什么要使用postcss,这两篇文章写的很好:
https://segmentfault.com/a/1190000003909268
https://juejin.im/post/59e5dc1d6fb9a0450a666d62
简单来说,使用postcss会让css可以按照标准写法,生成不同前缀的写法文件
这个是官方说明地址:https://github.com/postcss/postcss/blob/master/README-cn.md
svgo
我们在package.json中可以看到有个script是svgo。
这个命令是将svg图片文件进行压缩的。https://panjiachen.github.io/vue-element-admin-site/zh/feature/script/svgo.html
svg是矢量图,svg放大不失真。svg和canvas都是h5推荐使用的图形技术,canvas基于像素,svg为矢量,还有完整的动画,事件机制。
目录结构
其实vue-elemnt-admin的目录结构在官网这边也描述很清楚了:
https://panjiachen.github.io/vue-element-admin-site/zh/guide/#目录结构

这个目录结构还是很适合做前端工程学习的。
vue-elemnt-admin源码学习的更多相关文章
- Vben Admin 源码学习:状态管理-角色权限
前言 本文将对 Vue-Vben-Admin 角色权限的状态管理进行源码解读,耐心读完,相信您一定会有所收获! 更多系列文章详见专栏 Vben Admin 项目分析&实践 . 本文涉及到角 ...
- vue 2.0源码学习笔记—new Vue ( Vue 初始化过程 )
new Vue(Vue 初始化) 一个vue实例化到底经历了什么?已下是博主自己的总结,不正确的地方请指出,谢谢~ 一.简述 从使用角度来看,挂载的顺序如下 1. $slots 2. $scopedS ...
- Vben Admin 源码学习:状态管理-错误日志
0x00 前言 本文将对 Vue-Vben-Admin 的状态管理实现源码进行分析解读,耐心读完,相信您一定会有所收获! 0x01 errorLog.ts 错误日志 文件 src\store\modu ...
- Vben Admin 源码学习:项目初始化
0x00 前言 Vue-Vben-Admin 是一个免费开源的中后台模版.使用了最新的vue3,vite2,TypeScript等主流技术开发,开箱即用的中后台前端解决方案考. 本系列本着学习参考的目 ...
- vue虚拟DOM源码学习-vnode的挂载和更新流程
代码如下: <div id="app"> {{someVar}} </div> <script type="text/javascript& ...
- Vue.js 源码学习笔记
最近饶有兴致的又把最新版 Vue.js 的源码学习了一下,觉得真心不错,个人觉得 Vue.js 的代码非常之优雅而且精辟,作者本身可能无 (bu) 意 (xie) 提及这些.那么,就让我来吧:) 程序 ...
- Vue源码学习1——Vue构造函数
Vue源码学习1--Vue构造函数 这是我第一次正式阅读大型框架源码,刚开始的时候完全不知道该如何入手.Vue源码clone下来之后这么多文件夹,Vue的这么多方法和概念都在哪,完全没有头绪.现在也只 ...
- Vue源码学习(一):调试环境搭建
最近开始学习Vue源码,第一步就是要把调试环境搭好,这个过程遇到小坑着实费了点功夫,在这里记下来 一.调试环境搭建过程 1.安装node.js,具体不展开 2.下载vue项目源码,git或svn等均可 ...
- Vue源码学习三 ———— Vue构造函数包装
Vue源码学习二 是对Vue的原型对象的包装,最后从Vue的出生文件导出了 Vue这个构造函数 来到 src/core/index.js 代码是: import Vue from './instanc ...
- Vue源码学习二 ———— Vue原型对象包装
Vue原型对象的包装 在Vue官网直接通过 script 标签导入的 Vue包是 umd模块的形式.在使用前都通过 new Vue({}).记录一下 Vue构造函数的包装. 在 src/core/in ...
随机推荐
- 关于ueditor编译器
取消自动保存提示.edui-editor-messageholder.edui-default{ visibility:hidden;} Qiyuwen 1033935470@qq.com
- JAVASE(八) 数组: 一维数组、二维数组、动态数组、静态数组
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.一维数组 1.1 数组的声明和初始化声明方式: String str[]; //不建议使用 Stri ...
- js实现浏览器打印功能
最近接触到一个新需求,实现打印机打印小票的功能.打的一桌子小票(惭愧),不过也基本满足了业务上的需求,现在分享一下如何实现(好记性不如烂笔头) 先上代码 // 布局代码 <div id=&quo ...
- Java实现 LeetCode 641 设计循环双端队列(暴力)
641. 设计循环双端队列 设计实现双端队列. 你的实现需要支持以下操作: MyCircularDeque(k):构造函数,双端队列的大小为k. insertFront():将一个元素添加到双端队列头 ...
- Java实现 LeetCode 820 单词的压缩编码(字典树)
820. 单词的压缩编码 给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A. 例如,如果这个列表是 ["time", "me", & ...
- Java实现 蓝桥杯VIP 算法提高 3-3求圆面积表面积体积
算法提高 3-3求圆面积表面积体积 时间限制:1.0s 内存限制:256.0MB 问题描述 接受用户输⼊的数值,输出以该值为半径的(1)圆面积,(2)球体表面积,(3)球体体积.pi 取值3.1415 ...
- nginx功能介绍和基本安装
一.简介 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外ngi ...
- ASP.NET Core 3.1 WebApi+JWT+Swagger+EntityFrameworkCore构建REST API
一.准备 使用vs2019新建ASP.NET Core Web应用程序,选用api模板: 安装相关的NuGet包: 二.编码 首先编写数据库模型: 用户表 User.cs: public class ...
- 一网打尽枚举操作 .net core
本文介绍如何使用枚举以及,如何将枚举类型更好的应用于项目中,看完本文可以有序的将项目中的枚举更容易的使用到每个角落. 1,分析枚举 /// <summary> /// 性别 /// < ...
- 关于前端JS走马灯(marquee)总结
方案一: <marquee width="360" scrolldelay="20" scrollamount="2" onclick ...