vue2.5源码分析

源码目录设计:

compiler:包含Vue.js所有编译相关的代码。包括把模板解析成ast语法树,ast语法树优化,代码生成。。。

core:核心代码。包括内置组件、全局API封装、Vue实例化、观察者、虚拟DOM、工具函数。。

platform:Vue.js的入口。两个目录代表两个主要路口,分别打包成运行在web和weex上的Vue.js.

server:服务端渲染。代码是跑在服务端渲染的Node.js。把组件渲染为服务端的HTML字符串,直接发送到浏览器。

sfc:把.vue文件内容解析成一个js的对象。

shared:被浏览器端和服务端的Vue.js所共享的工具方法。

构建脚本

package.json:项目的描述文件。配置的script字段作为NPM的执行脚本。

构建过程

在scripts/build.js中。

对于单个配置,它是遵循 Rollup 的构建规则的。其中 entry 属性表⽰构建的⼊⼝ JS ⽂件地 址, dest 属性表⽰构建后的 JS ⽂件地址。 format 属性表⽰构建的格式, cjs 表⽰构建出来的 ⽂件遵循 CommonJS 规范, es 表⽰构建出来的⽂件遵循 ES Module 规范。 umd 表⽰构建出来的⽂ 件遵循 UMD 规范。

推荐使Runtime-Only 的 Vue.js。因为渲染都是通过 render 函数,如果写 template 属性,则需要编译成 render 函数,损耗性能。

Vue 实例挂载的实现

是通过 $mount 实例⽅法去挂载 vm 的.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值