作為一名 GitHub 資深用戶,我每日都會(huì)花不少時(shí)間泡在 GitHub 社區(qū)上面,有時(shí)候甚至于連吃飯都會(huì)用手機(jī)刷兩下,看看最近有什么值得關(guān)注的項(xiàng)目。
今天在github上發(fā)現(xiàn)了一個(gè)當(dāng)下比較流行的小程序開源框架,可能是最好的小程序開源框架。
開源項(xiàng)目地址:https://github.com/Tencent/kbone
開源項(xiàng)目作者:JuneAndGreen
微信小程序的底層模型和 Web 端不同,我們想直接把 Web 端的代碼挪到小程序環(huán)境內(nèi)執(zhí)行是不可能的。kbone 的誕生就是為了解決這個(gè)問題,它實(shí)現(xiàn)了一個(gè)適配器,在適配層里模擬出了瀏覽器環(huán)境,讓 Web 端的代碼可以不做什么改動(dòng)便可運(yùn)行在小程序里。
因?yàn)?kbone 是通過提供適配器的方式來實(shí)現(xiàn)同構(gòu),所以它的優(yōu)勢(shì)很明顯:
-
大部分流行的前端框架都能夠在 kbone 上運(yùn)行,比如 Vue、React、Preact 等。
-
支持更為完整的前端框架特性,因?yàn)?kbone 不會(huì)對(duì)框架底層進(jìn)行刪改(比如 Vue 中的 v-html 指令、Vue-router 插件)。
-
提供了常用的 dom/bom 接口,讓用戶代碼無需做太大改動(dòng)便可從 Web 端遷移到小程序端。
-
在小程序端運(yùn)行時(shí),仍然可以使用小程序本身的特性(比如像 live-player 內(nèi)置組件、分包功能)。
-
提供了一些 Dom 擴(kuò)展接口,讓一些無法完美兼容到小程序端的接口也有替代使用方案(比如 getComputedStyle 接口)。
使用
使用 kbone-cli 快速開發(fā)
對(duì)于新項(xiàng)目,可以使用 kbone-cli 來創(chuàng)建項(xiàng)目,首先安裝 kbone-cli:
npm install -g kbone-cli
創(chuàng)建項(xiàng)目:
kbone init my-app
進(jìn)入項(xiàng)目,按照 README.md 的指引進(jìn)行開發(fā):
// 開發(fā)小程序端npm run mp// 開發(fā) Web 端npm run web// 構(gòu)建 Web 端npm run build
PS:學(xué)習(xí)文檔:
https://wechat-miniprogram.github.io/kbone/docs/
?
本文摘自 :https://blog.51cto.com/u