vuejs源码之实例对象挂载分析

vm.$mount的实现逻辑

在new Vue(options)之后,vue做了一系列的初始化过程,在init()函数最后进行了挂载操作。

if (vm.$options.el) {
      vm.$mount(vm.$options.el)
}

vm.$mount方法在多个地方都有定义,如 src/platform/web/entry-runtime-with-compiler.js、src/platform/web/runtime/index.js、src/platform/weex/runtime/index.js。有这么多定义的原因是因为该方法是和平台、构建相关的。那么本次的分析主要基于entry-runtime-with-compiler.js版本。

runtime-only版本和runtime+compiler版本比较
  • 首先比较两个版本在创建项目时的区别
    runtime+compiler版本:
    runtime+compiler版本
    在初始化时带有compiler版本,会写上components和template选项。
    runtime-only版本:
    runtime-only版本
  • runtime-only版本与runtime-compiler版本编译区别
    runtime-only版本是去除了编译template部分的内容,所以它是非完整版的,它是利用vue-loader和webpack将vue文件进行编译成render函数,所以runtime-only版本打包后的提交会小。因此runtime-only版本是不能写template选项的。而runtime-compiler版本是可以写template选项的。
  • runtime-compiler编译过程
    template
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值