一、Vue 的两个版本

Vue 有两个版本,完整版和运行时版

完整版:同时包含编译器和运行时的版本,编译器就是用来将模板字符串编译成为 JavaScript 渲染函数的代码

运行时:用来创建 Vue 实例、渲染并处理虚拟 DOM 等的代码。基本上就是除去编译器的其它一切

二、两个版本的区别

Vue 完整版 运行时版 评价
特点

有 compiler(编译器)

没有 compiler

compiler 占40%体积
视图

写在 HTML 里,或者写在 template 选项

写在 render 函数里,用 h 创建标签

h 是写好传给 render 的
cdn 引入

vue.js

vue.runtime.js

文件名不同,生产环境后缀为 .min.js
webpack 引入

需要配置 alias

默认使用此版

尤雨溪配置的
@vue/cli 引入

需要额外配置

默认使用此版 尤雨溪、蒋豪群配置的

最佳选择:使用运行时版,然后配合 vue-loader 和 vue 文件

思路:

  1. 对于用户来说,运行时版可以保证用户体验,下载的 JS 文件体积更小,但只支持 h 函数
  2. 对于开发者来说,只能写 h 函数的话,开发体验不好,如果有 compiler, 开发者就能写更直观更语义化的 HTML 标签和 template, 所以我们需要一个 compiler
  3. Vue-loader 就可以引入 compiler, 把 Vue 文件里的 HTML 标签和 template 在构建时预编译成 h 函数,同时满足用户和开发者的需求

三、template 和 render 的用法

// 需要编译器
new Vue({template: '<div>{{ hi }}</div>'
})// 不需要编译器
new Vue({render (h) {return h('div', this.hi)}
})

template 标签和 JS 里的 template

//vue文件中的template标签<template><div id="app">      {{n}}<button @click="add">+1</button>   </div> </template>//js中的templatetemplate : `<div id="app">      {{n}}<button @click="add">+1</button>   </div> `

render 函数

// 运行时版在 js 中构建视图render(h){return h('div',[this.n,h('button',{on:{click:this.add}},'+1')])}// 运行时版使用 vue-loader// 先创建一个demo.vue文件,在里面构建视图import demo from "./Demo.vue"new Vue({el: "#app",render(h) {return h(demo)}})

四、使用 codesandbox.io 在线写 Vue 代码

在线写 Vue 代码,无需任何本地的安装依赖

网址:https://codesandbox.io/

*本文为鲲游北冥的原创文章,著作权归本人和饥人谷所有,转载务必注明来源

浅析 Vue 的两个版本相关推荐

  1. vue 2个方法先后执行_浅析Vue的2个版本

    一.@vue/cli用法 安装 npm npm install -g @vue/cli yarn yarn global add @vue/cli 安装完成后可以使用 vue create 来创建一个 ...

  2. vue保存内容到本地_Vue两个版本区别

    1.两个版本对应的文件名 完整版: vue.js ; vue.min.js 非完整版: vue.runtime.js : vue.runtime.min.js 完整版有体积更大,因为有compiler ...

  3. vue mxgraph渲染xml页面_Vue的两个版本

    Vue.js分为两个版本,简单来说就是一个是完整版vue.js,一个是非完整版vue.runtime.js: 1. HTML的书写位置不同 完整版: 完整版的HTML书写的位置有两个,一个是直接在 * ...

  4. 目标检测实战:4种YOLO目标检测的C++和Python两种版本实现

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨nihate 审稿丨邓富城 编辑丨极市平台 导读 本文作者使用C++编写一套基于OpenCV的Y ...

  5. ubuntu下如何安装两个版本OpenCV?

    本文首发于微信公众号「3D视觉工坊」--ubuntu下如何安装两个版本OpenCV? 前言 由于在VSLAM技术研究过程中,经常会涉及OpenCV不同版本在ubuntu系统下的安装.因此小凡在此简单总 ...

  6. python2和python3分别是python的两个版本_Windows下Python2与Python3两个版本共存的方法详解...

    前言 一向用Python 3,最近研究微信公众号开发,各云平台只支持Python 2.7,想用其他版本需要自己搭建环境.而网上又搜不到Python 3开发微信公众号的资料.暂打算先使用Python 2 ...

  7. git 比较两个版本之间的区别

    查看当前没有add 的内容修改 git diff 查看已经add 没有commit 的改动 git diff --cached 查看当前没有add和commit的改动: git diff HEAD 或 ...

  8. windows安装两个版本JDK

    1 . 准备两个版本的jdk我的两个jdk路径为: D:\jdk1.7.0_80  D:\Program Files\Java\jdk1.8.0_111 2 . 设置两个子JAVA_HOME,一个总设 ...

  9. 在一个IIS上同时运行两个版本ASP.NET报错的

    在Windows 2003 server IIS 6.0上运行一个ASP.NET 2.0网站时出现报错: 服务器应用程序不可用 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用.请点击 ...

最新文章

  1. git push 时不用每次都输入密码的方法
  2. 算法很重要,但是,并非所有,并不是每个人的选择
  3. R语言ggplot2可视化在可视化的接种中插入图片、添加图片实战
  4. linux内核参数优化
  5. 基于哈希的图像检索 HABIR(HASHING BASELINE FOR IMAGE RETRIEVAL)
  6. 风雨彩虹,铿锵玫瑰——女足夺冠
  7. firefox下光标处插入文本
  8. 百度之星 1004 Labyrinth
  9. Linkedin葵花宝典
  10. jQuery:级联查询-省份城市信息
  11. MUI框架-01-介绍-创建项目-简单页面
  12. 把图片放大清晰度不变的方法
  13. ZYNQ的Linux Linaro系统镜像制作SD卡启动
  14. IDLE的启动和设置
  15. Harbor镜像库搭建以及如何在idea上构建镜像并推送Harbor
  16. 【嵌入式芯片】GPU,CPU,SOC,DSP,FPGA,ASIC,MCU,MPU,GPP,ECU等简介
  17. python3文件路径操作常用方法带示例详解(os.path模块,os.listdir,os.walk,os.scandir方法等)(不定期更新整理中)
  18. JavaScript内置对象(内置对象、查文档(MDN)、Math对象、日期对象、数组对象、字符串对象)
  19. Java005-二进制、八进制、十进制和十六进制之间的转换
  20. MotoSimEG-VRC软件:基于伺服焊枪的机器人点焊虚拟仿真

热门文章

  1. 平板电脑什么牌子好?看完这组图片更爱他了
  2. 面向桌面的linux_面向儿童的四个Linux发行版
  3. W10 安装 mysql8
  4. Alpha阶段敏捷冲刺 ADY8
  5. 南大核心《比较教育研究》期刊简介
  6. 基于flowable的upp(统一流程平台)运行性能优化(1)
  7. 从无到有 Ubuntu16.04 18.04 20.04安装+Todesk+Chrome+NVIDIA驱动+CUDA+Cudnn+Anaconda3+Pycharm 超详细教程+踩坑问题
  8. CF707C Pythagorean Triples 题解
  9. 获取12306各个站点的简称
  10. 现场管理5S(转载)