使用Vue開發微信小程序:mpvue框架

原文連接:https://blog.csdn.net/weixin_...
接觸微信小程序有一段時間的開發者或開發團隊,我相信多多少少都會爲本身搭建封裝一些便於開發的框架/腳手架,尤爲是一些作過Web開發的開發者,受到現現在Web主流開發框架如Angular,React,Vue等的核心思想的影響,對數據/狀態管理、組件化、跨平臺等都有較高的追求。前端

因此,從小程序出現到如今,已經陸陸續續出現了一些遵循了這些Web開發思想的小程序框架,比較突出的就是WePY,一個由騰訊團隊推出的小程序組件化開發框架,主要的特色以下:vue

  • 類Vue開發風格
  • 支持自定義組件開發
  • 支持引入NPM包
  • 支持Promise
  • 支持ES2015+特性,如Aaync Functions
  • 支持多種編譯器,Less/Sass/Styus、Babel/Typescript、Pug
  • 支持多種插件處理,文件壓縮,圖片壓縮,內容替換等
  • 支持 Sourcemap,ESLint等
  • 小程序細節優化,如請求列隊,事件優化等

這些特性基本上是現今主流Web開發的標配了。由於我在開發Web應用的時候也常用Vue,因此在試用WePY的過程當中以爲很是的熟悉好上手,它確實是一個值得使用、能夠有效提升生產力的好框架。webpack

不過,今天的主角並非這個類Vue框架WePY,我想聊的是另一個基於Vue的框架:美團點評團隊出品的小程序開發框架:mpvue。爲何說WePY是一個「類Vue」的框架,而這個mpvue是「基於Vue」的框架呢?由於WePY是在代碼開發風格上借鑑了Vue,自己和Vue沒有什麼關係;而這個mpvue是從整個Vue的核心代碼上通過二次開發而造成的一個框架,至關因而給Vue自己賦能,增長了開發微信小程序的能力。web

使用mpvue開發小程序,你將在小程序技術體系的基礎上獲取到這樣一些能力:vue-cli

  • 完全的組件化開發能力:提升代碼
  • 完整的 Vue.js 開發體驗
  • 方便的 Vuex 數據管理方案:方便構建複雜應用
  • 快捷的 webpack 構建機制:自定義構建策略、開發階段 hotReload
  • 支持使用 npm 外部依賴
  • 使用 Vue.js 命令行工具 vue-cli 快速初始化項目
  • H5 代碼轉換編譯成小程序目標代碼的能力

它的目標是:在將來最理想的狀態下,能夠一套代碼能夠直接跑在多端:WEB、微信小程序、支付寶小程序、Native(藉助weex)。不過因爲各個端之間都存在一些比較明顯的差別性,從產品的層面上講,不建議這麼作,這個框架的官方他們對它的指望的也只是開發和調試體驗的一致。npm

經過官網提供的五分鐘快速上手視頻,能夠發現它的開發過程和Vue保持高度一致,連使用的命令行工具也仍是原先開發Web應用時所用的vue-cli
`#建立一個小程序工程
vue init mpvue/mpvue-quickstart my-project`
編寫模板代碼的時候一般也主要是以HTML爲主,好比咱們編寫一個.vue組件時寫了以下代碼:
`<template>
<div class="counter-warp">小程序

<p>Vuex counter:{{ count }}</p>
<p>
  <button @click="increment">+</button>
  <button @click="decrement">-</button>
</p>
<a href="/pages/index/index" class="home">去往首頁</a>

</div>
</template>`
而mpvue會經過編譯,將這個HTML模板轉換成小程序的WXML代碼:
`<template name="counter$39c97971">
<view class="_div data-v-72101980 counter-warp">微信小程序

<view class="_p data-v-72101980">Vuex counter:{{ count }}</view>
<view class="_p data-v-72101980">
  <button bindtap="handleProxy" data-eventid="{{'0'}}" data-comkey="{{$k}}" class="_button data-v-72101980">+</button>
  <button bindtap="handleProxy" data-eventid="{{'1'}}" data-comkey="{{$k}}"
    class="_button data-v-72101980">-</button>
</view>
<navigator url="/pages/index/index" class="_a data-v-72101980 home">去往首頁</navigator>

</view>
</template>
`
這樣,咱們就能夠徹底用開發Web應用的方式去開發小程序了,這爲咱們減小了一些思惟切換方面的成本。其實最重要的是:
Vue真的很好用啊!
另外,提供一個對原生微信小程序、mpvue、WePY這三種開發小程序方式的比較,感興趣的朋友能夠參考一下:
微信

想學前端的小夥伴,能夠關注+私信回覆《資料》免費獲取哦~
image.png
感謝您的閱讀!喜歡的能夠收藏轉發哦~weex

相關文章
相關標籤/搜索