基于mpvue搭建微信小程序項(xiàng)目框架的教程詳解
簡(jiǎn)介:
mpvue框架對(duì)于從沒(méi)有接觸過(guò)小程序又要嘗試小程序開(kāi)發(fā)的人員來(lái)說(shuō),無(wú)疑是目前最好的選擇。mpvue從底層支持 Vue.js 語(yǔ)法和構(gòu)建工具體系,同時(shí)再結(jié)合相關(guān)UI組件庫(kù),便可以高效的實(shí)現(xiàn)小程序開(kāi)發(fā)
前言:
本文講述如何搭建完整的小程序項(xiàng)目框架,因?yàn)槭堑谝淮问褂?,有不完善的地方?qǐng)大佬指正。
搭建內(nèi)容包括:
1、使用scss語(yǔ)法:依賴插件sass-loader 、node-sass
2、像vue一樣使用路由:依賴插件 mpvue-entry 和 mpvue-router-patch
3、使用ZanUI:有贊團(tuán)隊(duì)的小程序版UI組件庫(kù)(GitHub)
4、使用vuex進(jìn)行狀態(tài)管理
5、使用flyio進(jìn)行數(shù)據(jù)交互:GitHub地址
項(xiàng)目結(jié)構(gòu):
講解:
一、使用scss語(yǔ)法
1、安裝依賴
cnpm install node-sass sass-loader --save-dev
因?yàn)橐恍┎恢脑驅(qū)е耼ode-sass經(jīng)常安裝失敗,所以采用cnpm方式安裝最好
2、在.vue文件中的style節(jié)點(diǎn)加上lang=”scss”,這樣就可以愉快地使用sass進(jìn)行開(kāi)發(fā)了,無(wú)需再webpack.base.config.js中配置loader,webpack會(huì)自動(dòng)識(shí)別.scss文件以及.vue中的scss代碼。
二、像vue一樣使用路由
在使用mpvue提供的命令 vue init mpvue/mpvue-quickstart my-project 創(chuàng)建項(xiàng)目后,會(huì)發(fā)現(xiàn)每個(gè)頁(yè)面都要配置main.js 文件,不僅繁瑣而且顯得多余,所以我們是否可以改造成像vue一樣使用路由的方式呢,答案是可以的,需要用到mpvue-entry 和 mpvue-router-patch插件(集中式頁(yè)面配置,自動(dòng)生成各頁(yè)面的入口文件,優(yōu)化目錄結(jié)構(gòu),支持新增頁(yè)面熱更新)和
mpvue-entry: 集中式頁(yè)面配置,自動(dòng)生成各頁(yè)面的入口文件,優(yōu)化目錄結(jié)構(gòu),支持新增頁(yè)面熱更新
mpvue-router-patch: 在 mpvue 中使用 vue-router 兼容的路由寫(xiě)法
1、安裝依賴
cnpm install mpvue-entry --save-dev cnpm install mpvue-router-patch --save
2、項(xiàng)目src文件夾下創(chuàng)建router文件夾和router.js文件

3、項(xiàng)目引入src下的main.js文件
import Vue from 'vue' import MpvueRouterPatch from 'mpvue-router-patch' Vue.use(MpvueRouterPatch)
注:main.js的 export default {} 不能為空,不然編譯時(shí)不生成app.json文件
4、修改webpack.base.conf.js配置文件
const MpvueEntry = require('mpvue-entry')
module.exports = {
entry:MpvueEntry.getEntry('./src/router/router.js'),
.......
}
5、配置router.js 文件
// 首個(gè)路由為首頁(yè)
module.exports = [{
path: 'pages/index',
name: 'Index',
config: {
navigationBarTitleText: '文章詳情',
//引入U(xiǎn)I組件,后面會(huì)講到
usingComponents:{
"zan-button": "../dist/btn/index"
}
}
}, {
path: 'pages/list/list',
name: 'List',
config: {
navigationBarTitleText: 'list詳情'
}
}]
三、使用小程序UI組件
1、將UI組件庫(kù)克隆到本地

2、將上圖中的dist目錄拷貝到mpvue項(xiàng)目的輸出目錄中

3、在router.js文件中引入U(xiǎn)I組件
module.exports = [{
path: 'pages/index',
name: 'Index',
config: {
navigationBarTitleText: '文章詳情',
//引入U(xiǎn)I組件
usingComponents:{
//組件名和引用路徑
"zan-button": "../dist/btn/index"
}
}
}]
4、頁(yè)面中使用UI組件
<template>
<div class="index">
<zan-button type="primary" size="small">確認(rèn)付款</zan-button>
</div>
</template>
5、
小程序使用自定義組件:https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/
ZanUI組件庫(kù)使用講解:https://github.com/youzan/zanui-weapp/blob/dev/README.md
四、使用vuex進(jìn)行狀態(tài)管理
1、安裝
cnpm install vuex --save
2、引入(main.js文件)
impotr store from './vuex/index' Vue.prototrype.$store = store//掛在到vue原型上
五、使用flyio進(jìn)行數(shù)據(jù)交互
1、安裝
cnpm install flyio --save
2、引入(main.js文件)
const Fly = require("flyio/dist/npm/wx")//引入
const fly = new Fly
Vue.prototrype.$fly = fly//掛在到vue原型上
3、使用
add(){
//在add方法中執(zhí)行接口請(qǐng)求
this.$fly.get('http://******/user?id=133')
.then(function (res) {
//請(qǐng)求成功
console.log('res',res);
})
.catch(function (err) {
//請(qǐng)求失敗
console.log('err',err);
});
}
總結(jié)
以上所述是小編給大家介紹的基于mpvue搭建微信小程序項(xiàng)目框架的教程詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- 詳解微信小程序開(kāi)發(fā)(項(xiàng)目從零開(kāi)始)
- 微信小程序 刪除項(xiàng)目工程實(shí)現(xiàn)步驟
- 微信小程序項(xiàng)目總結(jié)之記賬小程序功能的實(shí)現(xiàn)(包括后端)
- 微信小程序轉(zhuǎn)化為uni-app項(xiàng)目的方法示例
- 簡(jiǎn)單了解微信小程序的目錄結(jié)構(gòu)
- 微信小程序?qū)W習(xí)筆記之目錄結(jié)構(gòu)、基本配置圖文詳解
- 微信小程序購(gòu)物商城系統(tǒng)開(kāi)發(fā)系列-目錄結(jié)構(gòu)介紹
- 微信小程序開(kāi)發(fā)(二)圖片上傳+服務(wù)端接收詳解
- 微信小程序 增、刪、改、查操作實(shí)例詳解
- 微信小程序 實(shí)戰(zhàn)小程序?qū)嵗?/a>
- 微信小程序?qū)W習(xí)總結(jié)(一)項(xiàng)目創(chuàng)建與目錄結(jié)構(gòu)分析
相關(guān)文章
Element?Table行的動(dòng)態(tài)合并及數(shù)據(jù)編輯示例
這篇文章主要為大家介紹了Element?Table行的動(dòng)態(tài)合并及數(shù)據(jù)編輯示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
vue3組件化開(kāi)發(fā)常用API知識(shí)點(diǎn)總結(jié)
Vue是目前Web前端最流行的開(kāi)發(fā)框架技術(shù),?下面這篇文章主要給大家介紹了關(guān)于vue3組件化開(kāi)發(fā)常用API的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06
解決vue項(xiàng)目使用font-awesome,build后路徑的問(wèn)題
今天小編就為大家分享一篇解決vue項(xiàng)目使用font-awesome,build后路徑的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
vue 封裝自定義組件之tabal列表編輯單元格組件實(shí)例代碼
這篇文章主要介紹了vue 封裝自定義組件tabal列表編輯單元格組件實(shí)例代碼,需要的朋友可以參考下2017-09-09
vue+webpack dev本地調(diào)試全局樣式引用失效的解決方案
今天小編就為大家分享一篇vue+webpack dev本地調(diào)試全局樣式引用失效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
vue3中<script?setup>?和?setup函數(shù)的區(qū)別對(duì)比
這篇文章主要介紹了vue3中<script?setup>?和?setup函數(shù)的區(qū)別,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04

