一,Vue.js 的源码都是在src 目录下,其目录结构如下。

1.compiler 目录包含Vue.js 所有编译相关的代码。它包括把所有模板解析成ast 语法树, ast 语法树优化等功能。

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

    (1) observer     相应系统,包含数据观测的核心代码。

     (2) vdom     包含虚拟DOM 创建(creation)和打补丁(patching) 的代码

     (3) instance  包含Vue 构建函数设计相关的代码

(4) global-api   包含给Vue 构造函数挂在全局(静态方法)或属性的代码

     (5)components  包含抽象出来的通用组件

3.platform Vue.js 是一个跨平台的MVVM 框架,它可以跑在web上,可以跑在weex 跑在,native客户端上,platform 是Vue.js 的入口,2 个目录代表2主要入口,

  分别打包成运行在web 上和weex 上的Vue.js

4.server  Vue.js 2.0 支持了服务端渲染,所有服务端渲染相关的逻辑都在这个目录下,注意,这部部分代码是跑在服务端的Node.js, 不要和跑

  在浏览器端的Vue.js 混为一谈。

    (1)web    web 平台

        (1)entry-runtime.js     运行时构建的入口,不包含模板(template)到render 函数的编译器,所不支持template 选项

            我们使用vue 默认导出的就是一个运行时的版本。

        (2)entry-runtime-with-compiler.js    独立构建版本的入口,它在entry-runtime 的基础上添加了模板(template) 到render 函数的编译器

        (3)entry-compiler.js     vue-template-compiler 包的入口文件

        (4)entry-server-renderer.js     vue-server-renderer 包的入口文件

        (5)entry-server-basic-renderer.js     输出  packages/vue-server-renderer/basic.js

    (2) weex    混合应用

5.sfc  通常我们开发 Vue.js 都会借助 webpack 构建,然后通过.vue 单文件来编写组件。

6. shared  Vue.js 会定义歇一下工具方法,这里定义的工具方法都是会陪浏览器端的Vue.js 和 服务端的Vue.js 所共享的。

二,配置文件

  (1)package.json

  (2)yarn.lock   yarn 锁定文件

  (3) .editorconfig   针对编辑器的编码风格配置的文件

  (4) .flowconfig    flow 的配置文件

  (5).babelrc        babel 配置文件

  (6).eslintrc        eslint  配置文件

  (7).eslintignore        eslint  忽略文件

  (8).gitignore           git 忽略文件

三,test    包含所有测试文件

四,packages   存放独立发布的包的目录

五,flow   类声明,检查器

六 ,examples  存放一些使用Vue 开发的应用案例

七,dist      构建后文件的 输入目录

八,scripts     构建相关我文件

Vue 源码分析—— 目录结构的更多相关文章

  1. vue源码解读-目录结构

    目录结构 ├── scripts ------------------------------- 构建相关的文件,一般情况下我们不需要动│ ├── git-hooks ---------------- ...

  2. Vue源码之目录结构

    Vue版本:2.6.9 源码结构图 ├─ .circleci // 包含CircleCI持续集成/持续部署工具的配置文件 ├─ .github // 项目相关的说明文档,上面的说明文档就在此文件夹 ├ ...

  3. SQLMAP源码分析-目录结构

    -----------------------------------------------------------------------------│  README.md│  sqlmap.c ...

  4. [Vue源码分析] v-model实现原理

    最近小组有个关于vue源码分析的分享会,提前准备一下… 前言:我们都知道使用v-model可以实现数据的双向绑定,及实现数据的变化驱动dom的更新,dom的更新影响数据的变化.那么v-model是怎么 ...

  5. Vue源码分析(一) : new Vue() 做了什么

    Vue源码分析(一) : new Vue() 做了什么 author: @TiffanysBear 在了解new Vue做了什么之前,我们先对Vue源码做一些基础的了解,如果你已经对基础的源码目录设计 ...

  6. 前端Vue 源码分析-逻辑层

    Vue 源码分析-逻辑层 预期的效果: 监听input的输入,input在输入的时候,会触发 watch与computed函数,并且会更新原始的input的数值.所以直接跟input相关的处理就有3处 ...

  7. Vue源码分析(二) : Vue实例挂载

    Vue源码分析(二) : Vue实例挂载 author: @TiffanysBear 实例挂载主要是 $mount 方法的实现,在 src/platforms/web/entry-runtime-wi ...

  8. android源码的目录结构

    android源码的目录结构 [以下网络摘抄] |-- Makefile ! l/ a5 n% S% @- `0 d# z# a$ P4 V3 o7 R|-- bionic              ...

  9. 【Zookeeper】源码分析目录

    Zookeeper源码分析目录如下 1. [Zookeeper]源码分析之序列化 2. [Zookeeper]源码分析之持久化(一)之FileTxnLog 3. [Zookeeper]源码分析之持久化 ...

随机推荐

  1. 颤振错误:当前Flutter SDK版本为2.1.0-dev.0.0.flutter-be6309690f?

    我刚刚升级了我的扑动,升级后我无法在Android Studio上运行任何扑动项目.我收到此错误消息. The current Dart SDK version -dev.0.0.flutter-be ...

  2. Python爬虫教程-05-python爬虫实现百度翻译

    使用python爬虫实现百度翻译功能 python爬虫实现百度翻译: python解释器[模拟浏览器],发送[post请求],传入待[翻译的内容]作为参数,获取[百度翻译的结果] 通过开发者工具,获取 ...

  3. 131.003 数据预处理之Dummy Variable & One-Hot Encoding

    @(131 - Machine Learning | 机器学习) Demo 直观来说就是有多少个状态就有多少比特,而且只有一个比特为1,其他全为0的一种码制 {sex:{male, female}}​ ...

  4. redis安装、配置、启停

    Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and ...

  5. python 待关注库

    Python待关注库 GUI 图形 Tkinter/wxPython/PyGTK/PyQt/PySide Web框架 django/web2py/flask/bottle/tornadoweb/web ...

  6. Java实例---俄罗斯方块

    代码分析 定义格子 package com.ftl.tetris; /** * 定义格子 */ import java.awt.image.BufferedImage; public class Ce ...

  7. 使用NPOI 2.1.1读取EXCEL2003/2007返回DataTable

    winform中打开excel的筛选器设置为:openFileDialog.Filter = "Excel 文件(*.xls)|*.xls;*.xlsx"; 一,不借助插件读取Ex ...

  8. 安装visual studio2017后 首次启动出现ActivityLog.xml异常解决方法

    安装visual studio2017后 首次启动出现ActivityLog.xml异常解决方法 ps:操作系统是win10 在官网下载了vs2017社区版按照教程(教程链接在文末)安装完成之后,首次 ...

  9. python30 excel修改模块xlutils

    xlrd只读,xlwt只写,xlutils模块则将读写功能结合起来.https://pypi.org/project/xlutils/ 修改excel通过xlutils的copy函数将<clas ...

  10. 两天学会css基础(二)

    接上一篇博客,还有css中的两个重要知识点没有说到,就是元素的浮动与定位. 第三部分:元素的浮动与清除 这部分的内容之前的博客已总结过.请查看css中的浮动与三种清除浮动的方法这篇文章. 浮动在网页中 ...