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个参数:
- 第一个参数(必写参数,类型是字符串,对象,函数)主要用于提供DOM的html内容
- 第二个参数(可选,类型是对象)主要用于设置这个DOM的一些样式。属性,传的组件的参数,绑定事件之类的
- 第三个参数(可选,类型是数组)主要是指改节点下还有其他节点
template 和 render 使用区别
template用于vue.js完整版 render只能用于vue.runtime.js-只包含运行时版
- template适合简单的组件封装,render函数适合复杂的组件封装
- template理解起来相对简单,但灵活性不高,性能低,而render灵活性较高,对使用者要求亦高
- render函数渲染没有编译过程,相当于把代码直接给程序,所以容易出现错误,对使用者要求高
- render函数较template优先级别高