在我们使用Vue的时候,其实是有两个版本可以选择的。分别是完整版(vue.js)和非完整版(run.time.js),这篇博客就来简单地介绍以下这两个版本之间的区别以及使用方法

特点

Vue完整版有compiler(编译器),可以将模版字符串编译成为JavaScript渲染函数的代码,这就导致完整版体积更大。
Vue非完整版没有compiler(编译器),体积更少

视图

Vue完整版写在HTML里或者写在template选项里,编译器可以编译成JS渲染函数的代码

  1. new Vue({
  2. template:'<div>{{hi}}</div>'
  3. })

Vue非完整版写在render函数里用h来创建标签

  1. new Vue({
  2. render(h){
  3. return h('div',this.hi)
  4. }
  5. })

引入

cdn引入

完整版:以vue.js结尾的为完整版(后缀加上min的是生成环境版本)
非完整版:以vue.runtime.js结尾的是非完整版(后缀加上min的是生成环境版本)

webpack引入

完整版:需要配置alias
非完整版:默认为非完整版

@vue/cli引入

完整版:需要额外配置,具体操作参考https://cn.vuejs.org/v2/guide/installation.html#%E5%AF%B9%E4%B8%8D%E5%90%8C%E6%9E%84%E5%BB%BA%E7%89%88%E6%9C%AC%E7%9A%84%E8%A7%A3%E9%87%8A
非完整版:默认为非完整版

应该使用哪个版本?

在开发过程中,我们一般使用非完整版,因为非完整版体积更小,用户下载的JS文件体积更小,保证用户体验。
但是非完整版只支持h函数,怎么解决???
使用vue-loader
把视图写进vue文件,js引入这个文件
vue-loader把vue文件的HTML转为h函数
这样就保证了用户体验,又保证了开发体验

codesandbox.io

https://codesandbox.io/
向大家推荐一个在线代码沙盒平台codesandbox.io,我们就可以开启Web云开发啦!!!
image.png支持主流的开发框架,并且都是配置好的直接使用,简直太方便了