vue.js在2016年爆🔥,到现在在中国已经是非常主流的前端框架,使用框架已经2年时间从本文开始,啃源码,解析原理,学习超级全家桶。
目录
系列文章,针对vue超级全家桶原理进行分析及新技术的学习的清单,鞭策自己一步一步完成。根据时间和学习进度同步修改。系列文章并不是详细的针对Vue源码的分析 深入到什么行实现了什么功能,而是个人对Vue框架的一些理解和常用api的一些解析。能帮助自己更好的使用Vue框架。
- vue.js(2.x)框架底层原理- 实现mini vue
- vue.js(2.x)原理 - new Vue流程梳理 及源码版生命周期分析
- vue.js(2.x)原理 - Vue响应式核心Observer,Dep及Watcher和异步更新队列
- vue.js(2.x)原理 - Vue内置指令及内置组件(v-show, v-if, v-for , v-model,keep-alive)
- vue.js(2.x)原理 - Virtual dom及Compile模版编译器原理分析
- vue-router(3.x) - vue官方路由库原理学习
- vuex(3.x) - Vue官方状态管理库源码分析
- vue-ssr(2.x) - vue主流ssr框架手动搭建及主流nuxt.js原理学习
- vue-cli(3.x) - Vue官方脚手架工具源码分析
- vue.js(3.x) - vue3新版本学习及原理分析
- vite2 - vue官方新开发工具使用及原理分析
- gridsome - vue主流ssg框架使用及原理
源码附录
文件名 | 作用 |
---|---|
.circleci | 持续集成/持续部署(ci/cd)配置 |
.github | 存放针对项目开发/贡献代码的文档(基于github) |
benchmarks | vue的一些性能测试文件和demo (好几年没维护了) |
dist | 打包后的vue源码(多种构建/规范版本) |
examples | 基于vue的一些demo小项目(好几年没维护) |
flow | 类型检查工具flow定义的地方(各种内置功能的类型定义) |
packages | vue插件包,在配合开发工具项目时候按需使用 |
scripts | vue打包的配置文件及一些自动化脚本 |
src | 源码目录结构 |
test | 单元测试/e2e测试用例目录 |
types | 针对typeScript的类型声明文件及配置 |
源码核心模块
src/
- compiler:编译源码相关文件夹
- core:核心代码文件夹
- platforms:不同平台支持文件夹
- server:支持服务端渲染文件夹
- sfc:.vue单文件解析文件夹
- shared: 共享代码
构建后的版本
打包后会产生很多类型的文件,默认的vue是Runtime + UMD 版本的构建,也是vue-cli默认导出的版本。
runtime版本是不包含Compiler的版本。其中带min的是压缩版本,适用于线上生产环境。
模块类型 | UMD 规范 | CommonJS 规范 | ES Module 规范 |
---|---|---|---|
全部 | vue.js | vue.common.js | vue.esm.js |
Runtime版本 | vue.runtime.js | vue.runtime.common.js | vue.runtime.esm.js |