chenfaxiang / chenfaxiang.github.io

Issues、学习记录。
https://www.chenfx.com.cn
5 stars 1 forks source link

1 - TODO LIST & Rediscover Vue #1

Open chenfaxiang opened 6 years ago

chenfaxiang commented 6 years ago

TODOS:

基础强化

vue 框架源码学习

chenfaxiang commented 6 years ago

重新认识 Vue

从 Vue1.* 就已经开始使用,由于前期年少无知,总感觉只要学会用,能解决实际工作中的问题就已经 very good,真是 so young so sample; 当意识到这个问题的时候就给自己定了一个开始学习 Vue 源码的计划,但还是事与愿违,磨磨蹭蹭好长时间,今天终于开张了,写下这些内容提醒一下自己,后面努力跟上节奏。

源码目录探索

言归正传,要想真正的开始学习那就必须在本地用编辑器打开,边看边练边学,光看别人的文章无济于事;于是在知名 gayHub 上找到 Vue 源码下载到本地,我去,什么玩意儿,这么多目录,先搞清楚各个目录:

Vue.js 源码目录结构

像 dist、example、flow、script、test 文件夹很明显知道意思,且不是最重要的,先看看就完事了;然而,Vue 的源码都在 src(重点关注) 目录下,src 目录结构:

Vue-src
 | —— compiler   # 编译相关代码
 | —— core       # 主要核心代码
 | —— platforms  # web/移动端 平台支持的代码
 | —— server     # 服务端渲染代码
 | —— sfc        # .vue 文件解析代码
 | —— shared     # 所有地方共享的代码

compiler

compiler 目录包含 Vue.js 编译相关的所有代码,包括把模板解析成 ast (abstract syntax tree) 语法树、ast 语法树优化、代码生成等

core

core 目录包含了 Vue.js 的核心代码,内置组件、全局 API 封装、Vue 实例化、观察者、虚拟 DOM、其他工具函数等

platforms

Vue.js 支持跨平台使用,可以在 PC (IE 8 及以下不支持) 上完美运行,也可以在移动端配合 weex 在 native 客户端流畅使用,此目录里面包含两个 (web、weex) 平台的入口文件,分别打包成 web 和移动端上的 Vue.js.

server

server 即在 Vue2.* 开始支持的服务端渲染,存放的所有服务端渲染代码,它运行在服务端的 nodejs 上

sfc

sfc 目录下的代码逻辑即把我们开发的单文件组件 .vue 文件内容解析成一个 JavaScript 的对象

shared

shared 文件目录定义一些公共的工具方法函数,在 浏览器端和服务端共享

SUMMARIZE

Vue 的所有源码目录条例清晰的进行了划分,一目了然,只能是 pei fu ~ pei fu ~~