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源码学习的更多相关文章

  1. Vben Admin 源码学习:状态管理-角色权限

    前言 本文将对 Vue-Vben-Admin 角色权限的状态管理进行源码解读,耐心读完,相信您一定会有所收获! 更多系列文章详见专栏   Vben Admin 项目分析&实践 . 本文涉及到角 ...

  2. vue 2.0源码学习笔记—new Vue ( Vue 初始化过程 )

    new Vue(Vue 初始化) 一个vue实例化到底经历了什么?已下是博主自己的总结,不正确的地方请指出,谢谢~ 一.简述 从使用角度来看,挂载的顺序如下 1. $slots 2. $scopedS ...

  3. Vben Admin 源码学习:状态管理-错误日志

    0x00 前言 本文将对 Vue-Vben-Admin 的状态管理实现源码进行分析解读,耐心读完,相信您一定会有所收获! 0x01 errorLog.ts 错误日志 文件 src\store\modu ...

  4. Vben Admin 源码学习:项目初始化

    0x00 前言 Vue-Vben-Admin 是一个免费开源的中后台模版.使用了最新的vue3,vite2,TypeScript等主流技术开发,开箱即用的中后台前端解决方案考. 本系列本着学习参考的目 ...

  5. vue虚拟DOM源码学习-vnode的挂载和更新流程

    代码如下: <div id="app"> {{someVar}} </div> <script type="text/javascript& ...

  6. Vue.js 源码学习笔记

    最近饶有兴致的又把最新版 Vue.js 的源码学习了一下,觉得真心不错,个人觉得 Vue.js 的代码非常之优雅而且精辟,作者本身可能无 (bu) 意 (xie) 提及这些.那么,就让我来吧:) 程序 ...

  7. Vue源码学习1——Vue构造函数

    Vue源码学习1--Vue构造函数 这是我第一次正式阅读大型框架源码,刚开始的时候完全不知道该如何入手.Vue源码clone下来之后这么多文件夹,Vue的这么多方法和概念都在哪,完全没有头绪.现在也只 ...

  8. Vue源码学习(一):调试环境搭建

    最近开始学习Vue源码,第一步就是要把调试环境搭好,这个过程遇到小坑着实费了点功夫,在这里记下来 一.调试环境搭建过程 1.安装node.js,具体不展开 2.下载vue项目源码,git或svn等均可 ...

  9. Vue源码学习三 ———— Vue构造函数包装

    Vue源码学习二 是对Vue的原型对象的包装,最后从Vue的出生文件导出了 Vue这个构造函数 来到 src/core/index.js 代码是: import Vue from './instanc ...

  10. Vue源码学习二 ———— Vue原型对象包装

    Vue原型对象的包装 在Vue官网直接通过 script 标签导入的 Vue包是 umd模块的形式.在使用前都通过 new Vue({}).记录一下 Vue构造函数的包装. 在 src/core/in ...

随机推荐

  1. HTML、CSS与JS实现简易iPhone计算器

    效果如图 源码,通俗易懂 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  2. Spring Boot笔记(四) springboot 集成 @Scheduled 定时任务

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.在SpringBoot 项目中使用@Scheduled注解执行定时任务: 配置pom.xml 依赖: ...

  3. webpack+vue2.0项目 (二)热加载,vue-router

    目录创建好之后,命令行输入 npm run dev 因为在配置文件config/index.js里: dev: { env: require('./dev.env'), port: 8080, aut ...

  4. 蓝桥杯 算法训练 P0505(Java解法)

    一个整数n的阶乘可以写成n!,它表示从1到n这n个整数的乘积.阶乘的增长速度非常快,例如,13!就已经比较大了,已经无法存放在一个整型变量中:而35!就更大了,它已经无法存放在一个浮点型变量中.因此, ...

  5. Java 第十一届 蓝桥杯 省模拟赛 无向连通图最少包含多少条边

    无向连通图最少包含多少条边 题目 问题描述 一个包含有2019个结点的无向连通图,最少包含多少条边? 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可.本题的结果为一个整数,在提交答案时只填 ...

  6. Java实现 LeetCode 733 图像渲染(DFS)

    733. 图像渲染 有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间. 给你一个坐标 (sr, sc) 表示图像渲染开始的像素值(行 ,列)和一个新的 ...

  7. Java实现复数运算

    1 问题描述 编程实现两个复数的运算.设有两个复数 和 ,则他们的运算公式为: 要求:(1)定义一个结构体类型来描述复数. (2)复数之间的加法.减法.乘法和除法分别用不用的函数来实现. (3)必须使 ...

  8. java实现第三届蓝桥杯火柴游戏

    火柴游戏 [编程题](满分34分) 这是一个纵横火柴棒游戏.如图[1.jpg],在3x4的格子中,游戏的双方轮流放置火柴棒.其规则是: 不能放置在已经放置火柴棒的地方(即只能在空格中放置). 火柴棒的 ...

  9. java代码(10) ---Java8 Map中的computeIfAbsent方法

    Map中的computeIfAbsent方法 一.案例说明 1.概述 在JAVA8的Map接口中,增加了一个computeIfAbsent,此方法签名如下: public V computeIfAbs ...

  10. 运用Navicat for MySQL进行MSSQL数据转移MYSQL

    当前不同数据库进行数据转移已经不是一件麻烦事情,特别是有很多很方便的工具,而最近我在搜集各种数据时候,也需要进行大量的数据转移,并且数据库和所转移的数据库表都不同,这次给大家介绍个最简单的方法,就是使 ...