5kb 的 Vue:尤雨溪发布新作 petite-vue,一个小例子彻底搞懂前端的MVP模式到底是什么

5kb 的 Vue:尤雨溪发布新作 petite-vue,一个小例子彻底搞懂前端的MVP模式到底是什么

码农世界 2024-05-18 前端 71 次浏览 0个评论

回复“2”加入前端群

技术编辑:小魔丨发自 思否编辑部


前端程序员想必对尤雨溪及其开发的 Vue 框架不陌生。Vue 是一套用于构建用户界面的渐进式 JavaScript 框架,在 2014 年发布后获得了大量开发者的青睐,目前已更新至 3.0 版本。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

最近,尤雨溪发布了一款针对渐进增强(progressive enhancement)进行优化的 Vue 发行版——petite-vue,大小仅有约 5kb。与标准 Vue 相比,petite-vue 具备相同的模板语法和响应式心理模型,而二者的差别在于 petite-vue 专门针对在服务器框架渲染的一个现有 HTML 页面上 “sprinkle” 少量交互进行了优化。

petite-vue 的亮点不仅在于体积小,还在于它能够使用针对渐进增强的最优实现,后者是它与标准 Vue 的主要区别,也是其主要优势。尤雨溪透露 petite-vue 与 Vue 1 的工作原理类似,但实现细节更优:petite-vue 遍历实际 DOM,并利用 @vue/reactivity 连接 (attach) 细粒度 reactive effects,因此其更新可精确抵达各个binding。

petite-vue 项目发布后获得了大量关注,连续多日出现在 GitHub Trending 榜单上,在数日内即获得 2300 颗星。

项目地址:

https://github.com/vuejs/petite-vue

接下来我们来看 petite-vue 的更多细节。

主要特性

petite-vue 具备以下特性:

  • 大小仅为约 5.8kb

  • Vue 兼容的模板语法

  • 基于 DOM (mutates in place)

  • 由 @vue/reactivity 驱动

    如何使用?

    petite-vue 可以不经过 build 步骤直接使用,只需从 CDN 处加载即可:

    {{ count }}

    inc

    • 使用 v-scope 在页面上标记应被 petite-vue 控制的区域。

    • defer 属性使脚本在 HTML 内容经过解析后执行。

    • init 属性使 petite-vue 自动 query 并初始化页面上被 v-scope 标记的所有元素。

      如果不想使用以上自动初始化方法,你可以移除 init 属性,将脚本移至 < body > 末尾:

      自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

      深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

      因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

      既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

      由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

      如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)

      Vue 面试题

      1.Vue 双向绑定原理

      2.描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?

      3.你是如何理解 Vue 的响应式系统的?

      4.虚拟 DOM 实现原理

      5.既然 Vue 通过数据劫持可以精准探测数据变化,为什么还需要虚拟 DOM 进行 diff 检测差异?

      6.Vue 中 key 值的作用?

      7.Vue 的生命周期

      8.Vue 组件间通信有哪些方式?

      9.watch、methods 和 computed 的区别?

      10.vue 中怎么重置 data?

      11.组件中写 name 选项有什么作用?

      12.vue-router 有哪些钩子函数?

      13.route 和 router 的区别是什么?

      14.说一下 Vue 和 React 的认识,做一个简单的对比

      15.Vue 的 nextTick 的原理是什么?

      16.Vuex 有哪几种属性?

      17.vue 首屏加载优化

      18.Vue 3.0 有没有过了解?

      19.vue-cli 替我们做了哪些工作?

      算法

      1. 冒泡排序
      2. 选择排序
      3. 快速排序
      4. 二叉树查找: 最大值、最小值、固定值
      5. 二叉树遍历
      6. 二叉树的最大深度
      7. 给予链表中的任一节点,把它删除掉
      8. 链表倒叙
      9. 如何判断一个单链表有环
      10. 给定一个有序数组,找出两个数相加为一个目标数

      由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+评论666

      一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

      AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

      AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

转载请注明来自码农世界,本文标题:《5kb 的 Vue:尤雨溪发布新作 petite-vue,一个小例子彻底搞懂前端的MVP模式到底是什么》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,71人围观)参与讨论

还没有评论,来说两句吧...

Top