<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          5kb 的 Vue:尤雨溪發(fā)布新作 petite-vue

          共 2077字,需瀏覽 5分鐘

           ·

          2021-07-16 00:24

          點擊上方 前端Q,關注公眾號

          回復加群,加入前端Q技術(shù)交流群




          技術(shù)編輯:小魔丨來源 思否編輯部


          前端程序員想必對尤雨溪及其開發(fā)的 Vue 框架不陌生。Vue 是一套用于構(gòu)建用戶界面的漸進式 JavaScript 框架,在 2014 年發(fā)布后獲得了大量開發(fā)者的青睞,目前已更新至 3.0 版本。與其它大型框架不同的是,Vue 被設計為可以自底向上逐層應用。Vue 的核心庫只關注視圖層,不僅易于上手,還便于與第三方庫或既有項目整合。另一方面,當與現(xiàn)代化的工具鏈以及各種支持類庫結(jié)合使用時,Vue 也完全能夠為復雜的單頁應用提供驅(qū)動。
           
          最近,尤雨溪發(fā)布了一款針對漸進增強(progressive enhancement)進行優(yōu)化的 Vue 發(fā)行版——petite-vue,大小僅有約 5kb。與標準 Vue 相比,petite-vue 具備相同的模板語法和響應式心理模型,而二者的差別在于 petite-vue 專門針對在服務器框架渲染的一個現(xiàn)有 HTML 頁面上 “sprinkle” 少量交互進行了優(yōu)化。



          petite-vue 的亮點不僅在于體積小,還在于它能夠使用針對漸進增強的最優(yōu)實現(xiàn),后者是它與標準 Vue 的主要區(qū)別,也是其主要優(yōu)勢。尤雨溪透露 petite-vue 與 Vue 1 的工作原理類似,但實現(xiàn)細節(jié)更優(yōu):petite-vue 遍歷實際 DOM,并利用 @vue/reactivity 連接 (attach) 細粒度 reactive effects,因此其更新可精確抵達各個binding。


          petite-vue 項目發(fā)布后獲得了大量關注,連續(xù)多日出現(xiàn)在 GitHub Trending 榜單上,在數(shù)日內(nèi)即獲得 2300 顆星。


          項目地址:

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


          接下來我們來看 petite-vue 的更多細節(jié)。


          主要特性


          petite-vue 具備以下特性:


          • 大小僅為約 5.8kb

          • Vue 兼容的模板語法

          • 基于 DOM (mutates in place)

          • 由 @vue/reactivity 驅(qū)動


          如何使用?


          petite-vue 可以不經(jīng)過 build 步驟直接使用,只需從 CDN 處加載即可:


          <script src="https://unpkg.com/petite-vue" defer init></script>

          <!-- anywhere on the page -->
          <div v-scope="{ count: 0 }">
            {{ count }}
            <button @click="count++">inc</button>
          </div>


          • 使用 v-scope 在頁面上標記應被 petite-vue 控制的區(qū)域。
          • defer 屬性使腳本在 HTML 內(nèi)容經(jīng)過解析后執(zhí)行。
          • init 屬性使 petite-vue 自動 query 并初始化頁面上被 v-scope 標記的所有元素。

          如果不想使用以上自動初始化方法,你可以移除 init 屬性,將腳本移至 < body > 末尾:

          <script src="https://unpkg.com/petite-vue"></script>
          <script>
            PetiteVue.createApp().mount()
          </script>

          或者使用 ES module build:

          <script type="module">
            import { createApp } from 'https://unpkg.com/petite-vue?module'
            createApp().mount()
          </script>

          除了初始化方法之外,petite-vue 的項目頁面中還介紹了 CDN URL 生產(chǎn)、Root Scope、生命周期事件等。更多細節(jié)參見 GitHub 項目頁面。



          內(nèi)推社群


          我組建了一個氛圍特別好的騰訊內(nèi)推社群,如果你對加入騰訊感興趣的話(后續(xù)有計劃也可以),我們可以一起進行面試相關的答疑、聊聊面試的故事、并且在你準備好的時候隨時幫你內(nèi)推。下方加 winty 好友回復「面試」即可。


          瀏覽 44
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美亚洲在线观看 | 日韩精品A片 | 翔田千里主演一级毛片 | 成人AV一区二区三区在线观看 | 国产又黄又爽又粗又大免费视频 |