基于mpvue搭建微信小程序項目框架的教程詳解
簡介:
mpvue框架對于從沒有接觸過小程序又要嘗試小程序開發(fā)的人員來說,無疑是目前最好的選擇。mpvue從底層支持 Vue.js 語法和構(gòu)建工具體系,同時再結(jié)合相關(guān)UI組件庫,便可以高效的實現(xiàn)小程序開發(fā)
前言:
本文講述如何搭建完整的小程序項目框架,因為是第一次使用,有不完善的地方請大佬指正。
搭建內(nèi)容包括:
1、使用scss語法:依賴插件sass-loader 、node-sass
2、像vue一樣使用路由:依賴插件 mpvue-entry 和 mpvue-router-patch
3、使用ZanUI:有贊團隊的小程序版UI組件庫(GitHub)
4、使用vuex進行狀態(tài)管理
5、使用flyio進行數(shù)據(jù)交互:GitHub地址
項目結(jié)構(gòu):
講解:
一、使用scss語法
1、安裝依賴
cnpm install node-sass sass-loader --save-dev
因為一些不知名的原因?qū)е耼ode-sass經(jīng)常安裝失敗,所以采用cnpm方式安裝最好
2、在.vue文件中的style節(jié)點加上lang=”scss”,這樣就可以愉快地使用sass進行開發(fā)了,無需再webpack.base.config.js中配置loader,webpack會自動識別.scss文件以及.vue中的scss代碼。
二、像vue一樣使用路由
在使用mpvue提供的命令 vue init mpvue/mpvue-quickstart my-project 創(chuàng)建項目后,會發(fā)現(xiàn)每個頁面都要配置main.js 文件,不僅繁瑣而且顯得多余,所以我們是否可以改造成像vue一樣使用路由的方式呢,答案是可以的,需要用到mpvue-entry 和 mpvue-router-patch插件(集中式頁面配置,自動生成各頁面的入口文件,優(yōu)化目錄結(jié)構(gòu),支持新增頁面熱更新)和
mpvue-entry: 集中式頁面配置,自動生成各頁面的入口文件,優(yōu)化目錄結(jié)構(gòu),支持新增頁面熱更新
mpvue-router-patch: 在 mpvue 中使用 vue-router 兼容的路由寫法
1、安裝依賴
cnpm install mpvue-entry --save-dev cnpm install mpvue-router-patch --save
2、項目src文件夾下創(chuàng)建router文件夾和router.js文件
3、項目引入src下的main.js文件
import Vue from 'vue' import MpvueRouterPatch from 'mpvue-router-patch' Vue.use(MpvueRouterPatch)
注:main.js的 export default {} 不能為空,不然編譯時不生成app.json文件
4、修改webpack.base.conf.js配置文件
const MpvueEntry = require('mpvue-entry') module.exports = { entry:MpvueEntry.getEntry('./src/router/router.js'), ....... }
5、配置router.js 文件
// 首個路由為首頁 module.exports = [{ path: 'pages/index', name: 'Index', config: { navigationBarTitleText: '文章詳情', //引入UI組件,后面會講到 usingComponents:{ "zan-button": "../dist/btn/index" } } }, { path: 'pages/list/list', name: 'List', config: { navigationBarTitleText: 'list詳情' } }]
三、使用小程序UI組件
1、將UI組件庫克隆到本地
2、將上圖中的dist目錄拷貝到mpvue項目的輸出目錄中
3、在router.js文件中引入UI組件
module.exports = [{ path: 'pages/index', name: 'Index', config: { navigationBarTitleText: '文章詳情', //引入UI組件 usingComponents:{ //組件名和引用路徑 "zan-button": "../dist/btn/index" } } }]
4、頁面中使用UI組件
<template> <div class="index"> <zan-button type="primary" size="small">確認付款</zan-button> </div> </template>
5、
小程序使用自定義組件:https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/
ZanUI組件庫使用講解:https://github.com/youzan/zanui-weapp/blob/dev/README.md
四、使用vuex進行狀態(tài)管理
1、安裝
cnpm install vuex --save
2、引入(main.js文件)
impotr store from './vuex/index' Vue.prototrype.$store = store//掛在到vue原型上
五、使用flyio進行數(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í)行接口請求 this.$fly.get('http://******/user?id=133') .then(function (res) { //請求成功 console.log('res',res); }) .catch(function (err) { //請求失敗 console.log('err',err); }); }
總結(jié)
以上所述是小編給大家介紹的基于mpvue搭建微信小程序項目框架的教程詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
- 詳解微信小程序開發(fā)(項目從零開始)
- 微信小程序 刪除項目工程實現(xiàn)步驟
- 微信小程序項目總結(jié)之記賬小程序功能的實現(xiàn)(包括后端)
- 微信小程序轉(zhuǎn)化為uni-app項目的方法示例
- 簡單了解微信小程序的目錄結(jié)構(gòu)
- 微信小程序?qū)W習筆記之目錄結(jié)構(gòu)、基本配置圖文詳解
- 微信小程序購物商城系統(tǒng)開發(fā)系列-目錄結(jié)構(gòu)介紹
- 微信小程序開發(fā)(二)圖片上傳+服務(wù)端接收詳解
- 微信小程序 增、刪、改、查操作實例詳解
- 微信小程序 實戰(zhàn)小程序?qū)嵗?/a>
- 微信小程序?qū)W習總結(jié)(一)項目創(chuàng)建與目錄結(jié)構(gòu)分析
相關(guān)文章
基于vue3+TypeScript實現(xiàn)一個簡易的Calendar組件
最近在學習 react,在學習到使用 react 開發(fā) Calendar 組件的時候,突然聯(lián)想到使用 vue 進行 Calendar 功能的實現(xiàn),因為目前使用的技術(shù)棧是 vue,剛好可以加深下對 vue3 和 ts 的使用印象,所以本文給大家介紹了基于vue3+TypeScript實現(xiàn)一個簡易的Calendar組件2024-05-05Vue中使用better-scroll實現(xiàn)輪播圖組件
better-scroll 是一款重點解決移動端(已支持 PC)各種滾動場景需求的插件。這篇文章主要介紹了Vue中使用better-scroll實現(xiàn)輪播圖組件的實例代碼,需要的朋友可以參考下2020-03-03Vue2實現(xiàn)未登錄攔截頁面功能的基本步驟和示例代碼
在Vue 2中實現(xiàn)未登錄攔截頁面功能,通??梢酝ㄟ^路由守衛(wèi)和全局前置守衛(wèi)來完成,以下是一個基本的實現(xiàn)步驟和示例代碼,幫助你創(chuàng)建一個簡單的未登錄攔截邏輯,需要的朋友可以參考下2024-04-04