<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>

          重磅開源:這可能是最好的小程序開源框架!

          共 1762字,需瀏覽 4分鐘

           ·

          2021-08-20 22:20


          開源最前線 綜合整理

          現(xiàn)在的微信小程序依然十分火熱,今天就和大家分享一下這個由官方出品的小程序框架——kbone。這個框架其實已經(jīng)發(fā)布很久了,但是知道的人依然不多。

          微信小程序開發(fā)過程中,許多開發(fā)者會遇到小程序 與 Web 端一起的需求,但是微信小程序的底層模型和 Web 端不同,我們想直接把 Web 端的代碼挪到小程序環(huán)境內(nèi)執(zhí)行是不可能的。為了解決這個問題,微信小程序推出了同構(gòu)解決方案 kbone。

          kbone方案設(shè)計有如下幾個前提:
          • 為了更好的復(fù)用組件,盡可能完整的支持 Web 端的特性

          • 在小程序端的渲染結(jié)果要盡可能接近 Web 端 h5 頁面


          所以,與其他同構(gòu)框架不同,kbone 是以適配器的方式來支持的。


          適配器包含兩部分:負責提供 dom/bom api 的 js 庫和負責渲染的自定義組件,也就是 kbone 中的 miniprogram-render 和 miniprogram-element,可以看到 kbone 最終生成的小程序代碼里會依賴這兩個 npm 包。除此之外還需要一個 webpack 插件來根據(jù)原始的 Web 端源碼生成小程序代碼,因為小程序代碼包和 Web 端的代碼不同,它有固定的結(jié)構(gòu),而這個插件就是 mp-webpack-plugin。

          miniprogram-render、miniprogram-element 和 mp-webpack-plugin 這三個包即是 kbone 的核心。


          因為 kbone 是通過提供適配器的方式來實現(xiàn)同構(gòu),所以它的優(yōu)勢很明顯:
          • 大部分流行的前端框架都能夠在 kbone 上運行,比如 Vue、React、Preact 等。

          • 支持更為完整的前端框架特性,因為 kbone 不會對框架底層進行刪改(比如 Vue 中的 v-html 指令、Vue-router 插件)。

          • 提供了常用的 dom/bom 接口,讓用戶代碼無需做太大改動便可從 Web 端遷移到小程序端。

          • 在小程序端運行時,仍然可以使用小程序本身的特性(比如像 live-player 內(nèi)置組件、分包功能)。

          • 提供了一些 Dom 擴展接口,讓一些無法完美兼容到小程序端的接口也有替代使用方案(比如 getComputedStyle 接口)。



          使用方式

          為了可以讓開發(fā)者可以更自由地進行項目的搭建,微信小程序提供了三種使用方式,這里猿妹給大家介紹其中一種:


          npm install -g kbone-cli


          使用 kbone-cli 快速開發(fā),對于新項目,可以使用 kbone-cli 來創(chuàng)建項目,首先安裝 kbone-cli:

          創(chuàng)建項目:


          kbone init my-app


          進入項目,按照 README.md 的指引進行開發(fā):


          // 開發(fā)小程序端
          npm run mp

          // 開發(fā) Web 端
          npm run web

          // 構(gòu)建 Web 端
          npm run build


          剩余兩種方式是使用模板快速開發(fā)和手動配置開發(fā),感興趣的可以到GitHub上查看。



          目前,kbone已經(jīng)在GitHub上已經(jīng)標星3.9K384個Fork。(GitHub地址:https://github.com/Tencent/kbone

          如果你也有好的開源項目,歡迎推薦!

          微信號聯(lián)系:westbrook12000(ps:加好友請備注“開源”)

          回復(fù) 【小程序】獲取15套小程序源碼【學習+實戰(zhàn)+賺錢】
          回復(fù) 【關(guān)閉】學關(guān)閉微信朋友圈廣告
          回復(fù) 【實戰(zhàn)】獲取20套實戰(zhàn)源碼
          回復(fù) 【福利】獲取最新微信支付有獎勵
          回復(fù) 【被刪】學查看你哪個好友刪除了你巧
          回復(fù) 【訪客】學微信查看朋友圈訪客記錄
          回復(fù) 【python】學微獲取全套0基礎(chǔ)Python知識手冊

          臥槽:一堆最新七夕情人節(jié)紅包封面!


          瀏覽 33
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  99精品福利 | 人人婷婷 | 美少妇一区 | 操逼网站在线 | 日韩aaaa |