runtimecompiler与runtimeonly的异同

vue的运行过程

在这里插入图片描述

运行时+编译器

如果你需要客户端编译模板
例如,向template选项传入一个字符率,或者需要将模板中的非DOM的HTML挂到一个元素上
你需要带有编译器的版本,因而需要完整构建版本

//这种情况需要编译器(comoiler)
new Vue({
    template:'<div>{{ h }}</div>'
})
//这种情况下不需要
new Vue({
    render (h) {
        return b('div', this.h) 
    }
})

在使用vue-loader或vueify时,*.vue文件中的模板会在构建时(build time)预编译(pre-compile)为JavaScript,最终生成的bundle中你不再需要编译器(compiler),因此可以直接使用只含有运行时的构建版本(runtime-only)
用于运行时的版本比其它全面版本的重量轻约30%,应该尽可能使用只含有运行时的构建版本
如果你仍需要使用完整版本,则需要在捆绑程序中配置别名

render和template

Runtime-Compiler
new Vue({
    el: '#app',
    components: { App },
    template: '<App/a.'
})

==Vue中的模板如何最终渲染成真实DOM
template -> ast -> render -> vdom -> UI

Runtime-only
new Vue({
    el: '#app',
    render: h => h(App)
})

Vue中的模板如何最终渲染成真实DOM
render -> vdom -> UI

小结

  • 如果在之后的开发中,你依然使用template,就需要选择Runtime-Compiler

  • 如果你之后的开发中,使用的是.vue文件夹开发,那么可以选择Runtime-only

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值