Vue 两个版本的区别和使用方法

104 阅读2分钟

vue 版本区别

            |vue.js                 |vue.runtime.js           |评价         
特点        |有compiler             |没有compiler              |compiler占据40%    
视图        |写在HTML或者template选项|写在render函数里h来创建标签|h是尤大写好传给render的
cdn引入     |vue.js                 |vue.runtime.js           |文件名不同,生产环境名为xxx.min.js
webpack引入 |需要配珠alias          |默认使用此版本             |尤雨溪配置的
@vue/cli引入|需要额外配置            |默认使用此版本             |尤雨溪,蒋豪群配置的
最佳实践:非完整版+vue-loader和vue文件
  • 保证用户体验,用户下载的JS文件体积更小,但只支持h函数
  • 保证开发体验,开发者可直接在vue文件里写HTML标签,而不写h函数
  • 脏活让loader做,vue-loader 把vue文件里的HTML转为h函数

template 和 render 的作用

  • vue中一般 使用template来创建HTML,有时也会使用JavaScript来创建HTML,这时就需要render函数
  • render函数中有一个参数叫h也就是creatElement,render函数将createElement的返回值放到HTML中
  • createElement有3个参数:
  1. 第一个参数(必写参数,类型是字符串,对象,函数)主要用于提供DOM的html内容
  2. 第二个参数(可选,类型是对象)主要用于设置这个DOM的一些样式。属性,传的组件的参数,绑定事件之类的
  3. 第三个参数(可选,类型是数组)主要是指改节点下还有其他节点

template 和 render 使用区别

template用于vue.js完整版 render只能用于vue.runtime.js-只包含运行时版

  1. template适合简单的组件封装,render函数适合复杂的组件封装
  2. template理解起来相对简单,但灵活性不高,性能低,而render灵活性较高,对使用者要求亦高
  3. render函数渲染没有编译过程,相当于把代码直接给程序,所以容易出现错误,对使用者要求高
  4. render函数较template优先级别高

线上搭建项目:沙盒地址