Vue完整版和运行时版本的区别

215 阅读2分钟

一、Vue的版本对比

众所周知,Vue是尤雨溪大神写的一套前端开发框架,在CDN上可以看出,Vue有多个版本,其实最主要的就是vue.js和vue.runtime.js,前者是完整版,后者是运行时版本也就是不完整版本。

vue.js 完整版(相当于将vue-loader写进文件中了)

  • 从HTML 得到视图
  • 可以从 BOOT CDN 引用 vue.js 或 vue.min.js
  • 可以通过 import 引用 vue.js 或 vue.min.js(vue.js 有注释,体积大;vue.min.js 生产环境用无注释,体积小)
  • 有compiler 编辑器(占用40%体积)
  • 视图:写在HTML里,或者写在template里
  • webpack引入:需要配置alias
  • @vue/cli引入:需要额外配置

vue.runtime.js 不完整版(配合 vue-loader 和 .vue 文件使用,很香!推荐

  • 用 JS 构建视图
  • 使用CDN链接引用 vue.runtime.js版 或 vue.runtime.min.js版
  • 没有compiler 编辑器
  • 视图:写在 render 函数里用 h 来创建标签(h是尤雨溪写好传给render的,h也可以写成createElement,可以任何名字)
  • webpack引入:默认使用此版本
  • @vue/cli引入:默认使用此版本

二、template和render的使用

完整版

我们只关注js里面的代码(默认你会正确引入vue.js和写了在html文件中要替换的占位元素)

//main.js中
new Vue({
    el: '#app',
    template: `
    <div>{{n}}</div>
  `,
    data: {
        n: 4
    }
})

完整版可以直接在HTML里面或者在template选项中直接写代码。它会自动解析到占位元素那里

运行时版本

三、使用codesandbox在线快速项目开发

安利一下 codesandbox,不管新手老手想要快速测试vue的功能或实现小demo的时候,可以使用 codesandbox这个网站实现快速开发。 PS:小知识,注意不要登录账号,我们就可以无限的使用这个沙盒,创建新链接前记得右上角fork一下,要是出现下图 同时按下shift+ctrl+Delete 清清cookie,又可以继续白嫖了,真香!!!!

四、总结

最佳实践方式:总是使用运行时版本,然后配合vue-loader和vue文件

思路

  • 保证用户体验,用户下载的JS文件体积更小,但只支持h函数
  • 保证开发体验,开发者可直接在vue文件里写HTML标签,而不写h函数
  • 脏活累活让loader去做,vue-loader把vue文件里面的HTML转为h函数,就TM牛X,这才是工程师该干的活。