先从github上下载或者clone一个vue分支项目

https://github.com/vuejs/vue

查看下目录结果

先列出一些目录

Vue

|— build 打包相关的配置文件,其中最重要的是config.js。主要是根据不同的入口,打包为不同的文件。

|— dist 打包之后文件所在位置

|— examples demo示例

|— flow 因为Vue使用了Flow来进行静态类型检查,这里定义了声明了一些静态类型

|— packages vue还可以分别生成其它的npm包

|— src 主要源码所在位置

|— compiler 模板解析的相关文件

|—codegen 根据ast生成render函数

|—directives 通用生成render函数之前需要处理的指令

|—parser 模板解析

|— core 核心代码

|— components 全局的组件,这里只有keep-alive

|— global-api 全局方法,也就是添加在Vue对象上的方法,比如Vue.use,Vue.extend,,Vue.mixin等

|— instance 实例相关内容,包括实例方法,生命周期,事件等

|— observer 双向数据绑定相关文件

|— util 工具方法

|— vdom 虚拟dom相关

|— entries 入口文件,也就是build文件夹下config.js中配置的入口文件。看源码可以从这里看起

|— platforms 平台相关的内容

|— web web端独有文件

|— compiler 编译阶段需要处理的指令和模块

|— runtime 运行阶段需要处理的组件、指令和模块

|— server 服务端渲染相关

|— util 工具库

|— weex weex端独有文件

|— server 服务端渲染相关

|— sfc 暂时未知

|— shared 共享的工具方法

|— test 测试用例

其实我也比较懵逼,这么多目录和文件,好害怕啊。

要想看完它,绝逼是个持久战。

如果没有刘涛大神的博客,我想我是没有勇气看下去了。

因为考虑到,学习一个对于自己不会的框架,看官网的api和demo是最快的捷径,如果想要深入其源码,除了个人需要扎实的js基础和耐心,还必须对vue用的很熟练

且做过好些项目,对于我来说,用vue写过的项目才1个,官网api和文档才看了2遍左右,加上能力有限,想要看起源码,必然很吃力。

所以学习他人积累的经验也是提高自己能力的一条捷径。接下来的每晚,努力看点刘涛大神的博客,且记录下来。

感谢刘涛大神:https://github.com/liutao/vue2.0-source/blob/master/Vue%E6%BA%90%E7%A0%81%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84%E6%95%B4%E7%90%86.md

Vue2.x源码学习笔记-源码目录结构整理的更多相关文章

  1. vue 源码学习(一) 目录结构和构建过程简介

    Flow vue框架使用了Flow作为类型检查,来保证项目的可读性和维护性.vue.js的主目录下有Flow的配置.flowconfig文件,还有flow目录,指定了各种自定义类型. 在学习源码前可以 ...

  2. 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring目录结构和基础JAR包介绍

    可以通过网址 http://repo.spring.io/simple/libs-release-local/org/springframework/spring/ 下载名称为 springframe ...

  3. jquery源码学习笔记一:总体结构

    练武不练功,到老一场空.计算机也一样. 计算机的功,就是原理.如果程序员只会使用各种函数,各种框架,而不知其原理,顶多熟练工人而已.知其然,更要知其所以然. jquery我们用得很爽,但它究竟咋实现的 ...

  4. linux云计算集群架构学习笔记:系统文件的目录结构

    文件的基本管理和XFS文件系统备份恢复 1.1  Linux系统目录结构,相对/绝对路径. 1.2  创建/复制/删除文件,rm -rf / 意外事故 1.3 查看文件内容 1.4 xfs文件系统的备 ...

  5. Android学习笔记__2__Android工程目录结构

    一.创建Android工程HelloWorld . src 文件夹里的是源文件 . Android2.2 是引用的类库,这些和 java 的都一样 . gen里面的类就是 ADT 自动生成的啦,一般只 ...

  6. Android学习笔记_40_系统结构 目录结构

    1.系统结构: 一.应用程序层 Android平台不仅仅是操作系统,也包含了许多应用程序,诸如SMS短信客户端程序.电话拨号程序.图片浏览器.Web浏览器等应用程序.这些应用程序都是用Java语言编写 ...

  7. Linux学习笔记之Linux目录结构、磁盘命名、启动过程

    1.Linux磁盘命名规则 名称的起名规则——/dev/xxyN: 1.Linux下装所有硬件设备的一个目录叫 /dev(devices) 2.Linux没有C盘.D盘.Linux最根上的一个目录叫  ...

  8. Laravel5.1 学习笔记1, 目录结构和命名空间(待修)

    自从用 Laravel4做了个小网站,使用了数据库ORM Eloquent, 就放下了一段时间,想不到这个与Asp.net MVC 有着异曲同工之妙的框架已经出了下个版本,而且还有不小的改动,因此不得 ...

  9. jquery源码学习笔记三:jQuery工厂剖析

    jquery源码学习笔记二:jQuery工厂 jquery源码学习笔记一:总体结构 上两篇说过,query的核心是一个jQuery工厂.其代码如下 function( window, noGlobal ...

随机推荐

  1. BZOJ2705: [SDOI2012]Longge的问题(欧拉函数)

    题意 题目链接 Sol 开始用反演推发现不会求\(\mu(k)\)慌的一批 退了两步发现只要求个欧拉函数就行了 \(ans = \sum_{d | n} d \phi(\frac{n}{d})\) 理 ...

  2. 【代码笔记】Web-利用Dreamweaver实现form

    一,打开Dreamweaver---->File---New---->如下图所示.选择HTML,点击OK. 二,会出现如下图所示界面.把光标放到Body处. 三,将上面的栏切换到Desig ...

  3. JavaScript异步和单线程

    一,同步和异步的区别: 同步会阻塞代码执行,而异步不会.(比如alert是同步,setTimeout是异步) 二,前端使用异步的场景: 1,定时任务:setTimeout,setInterval 2, ...

  4. loadrunner 场景设计-设计与实践

    场景设计-设计与实践 by:授客 QQ:1033553122 以lr 11.0 自带Web Tours为例,进行以下测试 说明:以下测试仅供演示,学习设计思路 A.确定系统组件 简单B/S架构:Cli ...

  5. Android 云之声离线语音合成

    离线语音解析 public class SpeechUtilOffline implements TTSPlayerListener { public static final String appK ...

  6. @RequestMapping --注解用法详解

    一.编码时我们总会发现如下变量未被使用的警告提示: 上述代码编译通过且可以运行,但每行前面的“感叹号”就严重阻碍了我们判断该行是否设置的断点了.这时我们可以在方法前添加 @SuppressWarnin ...

  7. python2 与 python3 如何实现共存

    1.现在我本机系统已内置python2.6 2.下载进行源码安装 复制链接下载到 /root/mypackage,解压 接着 mkdir /usr/local/python3 然后在解压后的文件夹内执 ...

  8. 前端测试框架jest 简介

    转自: https://www.cnblogs.com/Wolfmanlq/p/8012847.html 作者:Ken Wang 出处:http://www.cnblogs.com/Wolfmanlq ...

  9. TensorFlow深度学习入门

    # -*- coding: utf-8 -*- """ Created on Tue Oct 2 15:49:08 2018 @author: zhen "&q ...

  10. FLask上传文件

    目录 Flask上传文件 改进上传 上传进度条 一个更简便的方案 Flask上传文件 文件上传的基本原理实际上很简单,基 本上是: 一个带有 enctype=multipart/form-data 的 ...