Vue及其两个版本
写的比较早,刚开始接触Vue,以后会持续更新Vue学习的相关知识。不得不夸一下,Vue的官方文档写的真好,而且还贴心的配了视频讲解,真的是感觉棒棒哒。插入话题的min在切入正题之前,插入一个话题,无论什么库文件都分为min版本和非min版本,比如vue.js和vue.min.js,我们一般指的是做项目时的min版本,顾名思义就是最小内存版本,两者的内容是完全一样的,但是非min版本就是一个格式的文件,min版本是把所有的格式压缩成一行并连接它们放在一起,看起来有点难看,很难查看源代码和实现。如下图:两个版本的vue.jsvue.min.jsVueVue.js分为两个版本,简单来说,一个是完整版的vue.js,一个是非完整版的vue.runtime。js。两者的主要区别如下:1、HTML的书写位置不同。完整版:完整版有两个写HTML的位置。一种是直接在*.html文件中使用Vue语法,如下图:index.html文件main.js文件的另一个位置是在创建Vue实例时写在template选项中,这部分内容会完全覆盖html文件中的相应位置,而不是仅仅被包含在里面,所以对象的外层也要添加
如下:index.html文件main.js文件不是完整版:非完整版HTML的写法有两种,一种是在创建Vue实例时直接写在render中的()函数选项中,遵循createElement函数的形式传递参数来创建元素。如下图:index.html文件main.js文件等render函数中创建html元素的方法看起来/写起来是不是很麻烦,所以vue的作者帮我们提供了更简单明了的*for.vue文件,*.vue文件在编译时通过vue-loader在对应的render()函数中转化为复杂的创建语法。相比之下,*.vue文件的语法就清晰多了,如下所示显示:index.html文件demo.vue文件main.js文件补充:大多数情况下createElement会写成h,表示创建一个element,也就是render(h)和render(createElement)是一样的,写h要简单一些。补充要点:.vue文件中
标签中的内容不是HTML语法,而是XML语法,所以要遵循XML语法标准。XML和HTML的语法相似,但XML比HTML更严格。比如XML中有关闭标签,单标签必须关闭,比如
,但是HTML中单标签不关闭是正确的。,最新语法。同时还有一个区别,在XML中,当标签中没有内容时,可以直接/关闭,比如
,而在HTML中,则不能。严格的XML语法比松散的HTML语法更容易编译,所以Vue选择XML语法2.是否有编译器和完整版的vue-loader完整版必须有编译器,也就是编译器,还有作用编译器就是在编译时将Vue语句还原成html元素,然后才能在浏览器上渲染。完整版的Vue是通过编译器实现的,所以完整版是有编译器的。由于完整版不使用*.vue文件,因此不包含vue-loader。非完整版非完整版使用*.vue文件,vue-loader在render()函数中将*.vue文件翻译成元素创建语法。所以不完整版使用了vue-loader,但是没有使用编译器,也就是编译器,因为render()函数是渲染html元素的,已经不需要编译器了。3.两者的优缺点。完整版的优点:可以直接在html文件中写vue语句,可读性更强。缺点:体积比非完整版大,联轴器太大。vue语法混合在html文件中,导致各种类型的文件合而为一,耦合性强非完整版优点:体积小,非完整版体积比完整版小30%,更多耦合度低,模块化强缺点:暂时不知道。..综上所述,目前使用的Vue基本是不完整版,@vue/cli和webpack引入的vue文件都是不完整版。关于codesandbox.io这里是一个在线写vue项目的网站,也就是codesandbox。本站创建的vue项目是使用@vue/cli配置的环境,所以使用的是不完整版本的vue文件。此外,如果您不登录该网站,您可以免费无限次使用它。如果您登录,您只能免费使用50个项目,您将被收取费用。可以在文件->导出到ZIP下载本网站上编写的项目