1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

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

        共 2099字,需瀏覽 5分鐘

         ·

        2021-07-21 15:37

        技術編輯:小魔丨來源 思否編輯部


        前端程序員想必對尤雨溪及其開發(fā)的 Vue 框架不陌生。Vue 是一套用于構建用戶界面的漸進式 JavaScript 框架,在 2014 年發(fā)布后獲得了大量開發(fā)者的青睞,目前已更新至 3.0 版本。與其它大型框架不同的是,Vue 被設計為可以自底向上逐層應用。Vue 的核心庫只關注視圖層,不僅易于上手,還便于與第三方庫或既有項目整合。另一方面,當與現(xiàn)代化的工具鏈以及各種支持類庫結合使用時,Vue 也完全能夠為復雜的單頁應用提供驅動。
         
        最近,尤雨溪發(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ù)日內即獲得 2300 顆星。


        項目地址:

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


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


        主要特性


        petite-vue 具備以下特性:


        • 大小僅為約 5.8kb

        • Vue 兼容的模板語法

        • 基于 DOM (mutates in place)

        • 由 @vue/reactivity 驅動


        如何使用?


        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 內容經(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 項目頁面。

        最后

        歡迎關注【前端瓶子君】??ヽ(°▽°)ノ?
        回復「算法」,加入前端編程源碼算法群,每日一道面試題(工作日),第二天瓶子君都會很認真的解答喲!
        回復「交流」,吹吹水、聊聊技術、吐吐槽!
        回復「閱讀」,每日刷刷高質量好文!
        如果這篇文章對你有幫助,在看」是最大的支持
         》》面試官也在看的算法資料《《
        “在看和轉發(fā)”就是最大的支持
        瀏覽 56
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

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

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            男女拍拍视频网站 | 日本一级大毛片a一 | 中国偷窥妇wc | 人兽一区二区 | 麻豆AV无码久久精品蜜桃久久 | 久久AV无码 | 好叼操这里只有精品 | 麻豆传媒在线一级二级 | 被十几个男人扒开腿猛戳的小说 | 舒淇三级做爰在线播放 |