简述 vue

122 阅读1分钟

本文以及后续简述主要是对 vue 2.6.10 版本做一个简单的叙述,只有主线流程。

首先对该版本代码的文件做一个简单介绍,以下是截图:

主要代码在 src 目录下:

  • compiler 目录包含 Vue.js 所有编译相关的代码。它包括把模板解析成 ast 语法树,ast 语法树优化,代码生成等功能。
  • core 目录包含了 Vue.js 的核心代码,包括内置组件、全局 API 封装,Vue 实例化、观察者、虚拟 DOM、工具函数等等。Vue.js的灵魂。
  • platform 是 Vue.js 的入口,2 个目录代表 2 个主要入口,分别打包成运行在 web 上和 weex 上的 Vue.js。
  • server 服务端渲染主要的工作是把组件渲染为服务器端的 HTML 字符串,将它们直接发送到浏览器,最后将静态标记"混合"为客户端上完全交互的应用程序。
  • sfc 这个目录下的代码逻辑会把 .vue 文件内容解析成一个 JavaScript 的对象。通常我们开发 Vue.js 都会借助 webpack 构建, 然后通过 .vue 单文件来编写组件。
  • shared 这个目录下Vue.js 会定义一些工具方法,这里定义的工具方法都是会被浏览器端的 Vue.js 和服务端的 Vue.js 所共享的。

入口文件位置:/src/platform/entry-runtime-with-compiler.js