溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

微信小程序可以用vue.js嗎

發(fā)布時(shí)間:2021-01-21 11:16:47 來(lái)源:億速云 閱讀:999 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹微信小程序可以用vue.js嗎,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

微信小程序能用vue.js,mpvue是一款使用【Vue.js】開發(fā)微信小程序的前端框架,使用此框架,開發(fā)者將得到完整的【Vue.js】開發(fā)體驗(yàn),同時(shí)為H5和小程序提供了代碼復(fù)用的能力。

微信小程序能用vue.js

mpvue是一款使用 Vue.js 開發(fā)微信小程序的前端框架。使用此框架,開發(fā)者將得到完整的 Vue.js 開發(fā)體驗(yàn),同時(shí)為 H5 和小程序提供了代碼復(fù)用的能力。如果想將 H5 項(xiàng)目改造為小程序,或開發(fā)小程序后希望將其轉(zhuǎn)換為 H5,mpvue 將是十分契合的一種解決方案。

小程序開發(fā)特點(diǎn)

微信小程序推薦簡(jiǎn)潔的開發(fā)方式,通過(guò)多頁(yè)面聚合完成輕量的產(chǎn)品功能。小程序以離線包方式下載到本地,通過(guò)微信客戶端載入和啟動(dòng),開發(fā)規(guī)范簡(jiǎn)潔,技術(shù)封裝徹底,自成開發(fā)體系,有 Native 和 H5 的影子,但又絕不雷同。

小程序本身定位為一個(gè)簡(jiǎn)單的邏輯視圖層框架,官方并不推薦用來(lái)開發(fā)復(fù)雜應(yīng)用,但業(yè)務(wù)需求卻難以做到精簡(jiǎn)。復(fù)雜的應(yīng)用對(duì)開發(fā)方式有較高的要求,如組件和模塊化、自動(dòng)構(gòu)建和集成、代碼復(fù)用和開發(fā)效率等,但小程序開發(fā)規(guī)范較大的限制了這部分能力。為了解決上述問(wèn)題,提供更好的開發(fā)體驗(yàn),我們創(chuàng)造了mpvue,通過(guò)使用 Vue.js 來(lái)開發(fā)微信小程序。

mpvue是什么

mpvue 是一套定位于開發(fā)小程序的前端開發(fā)框架,其核心目標(biāo)是提高開發(fā)效率,增強(qiáng)開發(fā)體驗(yàn)。使用該框架,開發(fā)者只需初步了解小程序開發(fā)規(guī)范、熟悉 Vue.js 基本語(yǔ)法即可上手??蚣芴峁┝送暾?Vue.js 開發(fā)體驗(yàn),開發(fā)者編寫 Vue.js 代碼,mpvue 將其解析轉(zhuǎn)換為小程序并確保其正確運(yùn)行。此外,框架還通過(guò) vue-cli 工具向開發(fā)者提供 quick start 示例代碼,開發(fā)者只需執(zhí)行一條簡(jiǎn)單命令,即可獲得可運(yùn)行的項(xiàng)目。

為什么做mpvue

在小程序內(nèi)測(cè)之初,我們計(jì)劃快速迭代出一款對(duì)標(biāo) H5 的產(chǎn)品實(shí)現(xiàn),核心訴求是:快速實(shí)現(xiàn)、代碼復(fù)用、低成本和高效率… 隨后經(jīng)歷了多個(gè)小程序建設(shè),結(jié)合業(yè)務(wù)場(chǎng)景、技術(shù)選型和小程序開發(fā)方式,我們整理匯總出了開發(fā)階段面臨的主要問(wèn)題:

  • 組件化機(jī)制不夠完善

  • 代碼多端復(fù)用能力欠缺

  • 小程序框架和團(tuán)隊(duì)技術(shù)棧無(wú)法有機(jī)結(jié)合

  • 小程序?qū)W習(xí)成本不夠低

組件機(jī)制:小程序邏輯和視圖層代碼彼此分離,公共組件提取后無(wú)法聚合為單文件入口,組件需分別在視圖層和邏輯層引入,維護(hù)性差;組件無(wú)命名空間機(jī)制,事件回調(diào)必須設(shè)置為全局函數(shù),組件設(shè)計(jì)有命名沖突的風(fēng)險(xiǎn),數(shù)據(jù)封裝不強(qiáng)。開發(fā)者需要友好的代碼組織方式,通過(guò)

ES 模塊一次性導(dǎo)入;組件數(shù)據(jù)有良好的封裝。成熟的組件機(jī)制,對(duì)工程化開發(fā)至關(guān)重要。

多端復(fù)用:常見的業(yè)務(wù)場(chǎng)景有兩類,通過(guò)已有 H5

產(chǎn)品改造為小程序應(yīng)用或反之。從效率角度出發(fā),開發(fā)者希望通過(guò)復(fù)用代碼完成開發(fā),但小程序開發(fā)框架卻無(wú)法做到。我們嘗試過(guò)通過(guò)靜態(tài)代碼分析將 H5

代碼轉(zhuǎn)換為小程序,但只做了視圖層轉(zhuǎn)換,無(wú)法帶來(lái)更多收益。多端代碼復(fù)用需要更成熟的解決方案。

引入 Vue.js:小程序開發(fā)方式與 H5 近似,因此我們考慮和 H5 做代碼復(fù)用。沿襲團(tuán)隊(duì)技術(shù)棧選型,我們將 Vue.js 確定為小程序開發(fā)規(guī)范。使用 Vue.js 開發(fā)小程序,將直接帶來(lái)如下開發(fā)效率提升:

  • H5 代碼可以通過(guò)最小修改復(fù)用到小程序

  • 使用 Vue.js 組件機(jī)制開發(fā)小程序,可實(shí)現(xiàn)小程序和 H5 組件復(fù)用

  • 技術(shù)棧統(tǒng)一后小程序?qū)W習(xí)成本降低,開發(fā)者從 H5 轉(zhuǎn)換到小程序不需要更多學(xué)習(xí)

  • Vue.js 代碼可以讓所有前端直接參與開發(fā)維護(hù)

為什么是 Vue.js?這取決于團(tuán)隊(duì)技術(shù)棧選型,引入新的選型與統(tǒng)一技術(shù)棧和提高開發(fā)效率相悖,有違開發(fā)工具服務(wù)業(yè)務(wù)的初衷。

mpvue 的演進(jìn)

mpvue的形成,來(lái)源于業(yè)務(wù)場(chǎng)景和需求,最終方案的確定,經(jīng)歷了三個(gè)階段。

第一階段:我們實(shí)現(xiàn)了一個(gè)視圖層代碼轉(zhuǎn)換工具,旨在提高代碼首次開發(fā)效率。通過(guò)將H5視圖層代碼轉(zhuǎn)換為小程序代碼,包括 HTML 標(biāo)簽映射、Vue.js 模板和樣式轉(zhuǎn)換,在此目標(biāo)代碼上進(jìn)行二次開發(fā)。我們做到了有限的代碼復(fù)用,但組件化開發(fā)和小程序?qū)W習(xí)成本并未得到有效改善。

第二階段:我們著眼于完善代碼組件化機(jī)制。參照 Vue.js

組件規(guī)范設(shè)計(jì)了代碼組織形式,通過(guò)代碼轉(zhuǎn)換工具將代碼解析為小程序。轉(zhuǎn)換工具主要解決組件間數(shù)據(jù)同步、生命周期關(guān)聯(lián)和命名空間問(wèn)題。最終我們實(shí)現(xiàn)了一個(gè)

Vue.js 語(yǔ)法子集,但想要實(shí)現(xiàn)更多特性或跟隨 Vue.js 版本迭代,工作量變得難以估計(jì),有永無(wú)止境之感。

第三階段:我們的目標(biāo)是實(shí)現(xiàn)對(duì) Vue.js 語(yǔ)法全集的支持,達(dá)到使用 Vue.js

開發(fā)小程序的目的。并通過(guò)引入 Vue.js runtime 實(shí)現(xiàn)了對(duì) Vue.js 語(yǔ)法的支持,從而避免了人肉語(yǔ)法適配。至此,我們完成了使用

Vue.js 開發(fā)小程序的目的。較好地實(shí)現(xiàn)了技術(shù)棧統(tǒng)一、組件化開發(fā)、多端代碼復(fù)用、降低學(xué)習(xí)成本和提高開發(fā)效率的目標(biāo)。

以上是“微信小程序可以用vue.js嗎”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI