petite-vue不止是变得更小,它还是渐进式增强的最佳实践。

Vue不构建或构建都能使用。当通过构建使用时(例如使用单文件组件),Vue预编译所有的模板,所以运行时没有再处理模板。多亏了树摇(three-shaking),我们可以在Vue中提供可选的功能,它们在不使用时并不会增大你打包生成的文件。用构建方式使用这是vue的使用的最佳实践,它更适合构建具有相对繁重交互的 SPA 或应用程序。

通过不构建的方式使用Vue并且挂载到 DOM 内模板,是很不推荐的使用方式,这是因为:

    • 我们需要把Vue模板编译器下载到浏览器。(额外多13kb大小)
    • 编译器需要从实例化的DOM中获取模板字符串
    • 编译器将字符串编译成 JavaScript 渲染函数
    • Vue将通过渲染函数新生成的DOM替换到已存在的DOM模板上。

petite-vue通过遍历现有的 DOM 并直接将细粒度的反应效果应用到元素上来避免所有这些开销。DOM就是模板,这意味着petite-vue 在渐进式增强场景中更加的高效。

这也是 Vue 1 的工作方式。这种方法与 DOM 耦合,因此不适合与平台无关的渲染或 JavaScript SSR。我们也失去了使用渲染函数进行高级抽象的能力。但是,正如您可能知道的那样,在渐进增强的场景中不太会需要这些功能。

翻译资料:Comparison with standard Vue.https://github.com/vuejs/petite-vue#comparison-with-standard-vue

总结:

vue不构建使用时,需要从实例化的DOM中读取模板字符串,编译成渲染函数,再替换到已存在的DOM上。

petite-vue是直接遍历DOM,若有更新,则直接应用到DOM上。

petite-vue使用场景:开发大量静态少量交互的页面。它为渐进式增强而生。

If you have strict CSP requirements, you should probably use standard Vue and pre-compile the templates.

推荐学习资料:

【1】如何在不看源码情况下学petite-vue源码.https://zhuanlan.zhihu.com/p/389045348

【2】introduction-to-petite-vue.https://blog.logrocket.com/introduction-to-petite-vue

petite-vue和Vue的比较的更多相关文章

  1. vue入门 vue与react和Angular的关系和区别

    一.为什么学习vue.js vue.js兼具angular.js和react的优点,并且剔除了他们的缺点 官网:http://cn.vuejs.org/ 手册:http://cn.vuejs.org/ ...

  2. Vue (三) --- Vue 组件开发

    ------------------------------------------------------------------好心情,会让你峰回路转. 5. 组件化开发 5.1 组件[compo ...

  3. vue学习:vue+webpack的快速使用指南(新手向)

    一.vue有两种使用方式: 1.下载vue.js <script src="vue.js"></script> 2.使用npm npm install vu ...

  4. Vue 项目 Vue + restfulframework

    Vue 项目 Vue + restfulframework 实现登录认证 - django views class MyResponse(): def __init__(self): self.sta ...

  5. 【vue】vue +element 搭建项目,组件之间通信

    父子组件通信 父 通过props属性给 子传递数据 子 操作 父  this.$parent.XXX 子通过$emit传递参数 或者通过vue-bus vue-bus既可以实现父子组件之间的通信,也可 ...

  6. 【vue】vue +element 搭建项目,vuex中的store使用

    概述: 每一个 Vuex 应用的核心就是 store(仓库).“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state).Vuex 和单纯的全局对象有以下两点不同: Vuex 的 ...

  7. vue的.vue文件是怎么run起来的(vue-loader)

    vue的.vue文件是怎么run起来的(vue-loader) 引子:vue的.vue文件是怎么跑起来的? 答:通过vue-loader,解析.vue文件,在webpack解析,拆解vue组件 1.v ...

  8. vue学习之用 Vue.js + Vue Router 创建单页应用的几个步骤

    通过vue学习一:新建或打开vue项目,创建好项目后,接下来的操作为: src目录重新规划——>新建几个页面——>配置这几个页面的路由——>给根实例注入路由配置 src目录重整 在项 ...

  9. python 全栈开发,Day89(sorted面试题,Pycharm配置支持vue语法,Vue基础语法,小清单练习)

    一.sorted面试题 面试题: [11, 33, 4, 2, 11, 4, 9, 2] 去重并保持原来的顺序 答案1: list1 = [11, 33, 4, 2, 11, 4, 9, 2] ret ...

  10. import Vue form 'vue’的意思

    1.import Vue form ‘vue’ 写全的话是import Vue from ‘…/nodemouls/vue/list/vue.js’: 此时在webpack.base.conf.js中 ...

随机推荐

  1. telnet 退出失败

    1. 根据提示,使用ctrl+] ,退出到telnet >界面 2. 使用quit退出 3. 最简单的退出方式,强制退出: ] + Enter键

  2. npm安装hexo报错

    报错提示 npm WARN saveError ENOENT: no such file or directory, open '/home/linux1/package.json' npm noti ...

  3. i春秋Backdoor

    点开是道没有任何窗口的题,右键查看源码也没上面东西,抓包试试,也没找到什么提示性的信息,根据提示去看看敏感文件泄露是什么吧 这里找到了篇敏感文件泄露的介绍及利用方法:https://www.cnblo ...

  4. 动态规划篇——线性DP

    动态规划篇--线性DP 本次我们介绍动态规划篇的线性DP,我们会从下面几个角度来介绍: 数字三角形 最长上升子序列I 最长上升子序列II 最长公共子序列 最短编辑距离 数字三角形 我们首先介绍一下题目 ...

  5. Day21:方法重写以及注意细节

    目录 方法重写 什么是方法重写? 方法重写有什么用? 方法重写的注意细节 方法重写 什么是方法重写? 方法重写指的是当子类和父类出现了一摸一样的方法声明 方法重写有什么用? 当父类中有一个方法时,子类 ...

  6. Axios 类似于for循环发送批量请求{:axios.all axios.spread}。

    Axios的请求都是异步的!不能用for循环遍历去批量发送请求 那如果我们需要类似与这样的请求怎么办呢 for(let i =0;i<array.length;i++){ axios.post( ...

  7. 3.7:基于Weka的K-means聚类的算法示例

    〇.目标 1.使用Weka平台,并在该平台使用数据导入.可视化等基本操作: 2.对K-means算法的不同初始k值进行比较,对比结果得出结论. 一.打开Weka3.8并导入数据 二.导入数据 三.Si ...

  8. 第一百一十四篇: JS数组Array(三)数组常用方法

    好家伙,本篇为<JS高级程序设计>第六章"集合引用类型"学习笔记   1.数组的复制和填充 批量复制方法 copyWithin(),以及填充数组方法fill(). 这两 ...

  9. jmeter 之性能分布式压测

    背景: 当并发量达到一定数量时,单台测试设备不足以支撑,甚至会出现内存溢出等情况,解决这个问题就可用分布式测试,使用多台测试设备来达到更大的用户并发数. 原理: 1.一台设备作为调度机(master) ...

  10. Spring IoC的一些知识点

    在日常开发中,接触得比较多的算是Spring生态了,Spring Ioc是Spring Framework重要的组成部分,下面整理了一些Spring Ioc的知识点. 1. 什么是IoC IoC(In ...