基于mpvue搭建微信小程序项目框架的教程详解


Posted in Javascript onApril 10, 2019

简介:

mpvue框架对于从没有接触过小程序又要尝试小程序开发的人员来说,无疑是目前最好的选择。mpvue从底层支持 Vue.js 语法和构建工具体系,同时再结合相关UI组件库,便可以高效的实现小程序开发

前言:

本文讲述如何搭建完整的小程序项目框架,因为是第一次使用,有不完善的地方请大佬指正。

搭建内容包括:

1、使用scss语法:依赖插件sass-loader 、node-sass

2、像vue一样使用路由:依赖插件 mpvue-entry 和 mpvue-router-patch

3、使用ZanUI:有赞团队的小程序版UI组件库(GitHub)

4、使用vuex进行状态管理

5、使用flyio进行数据交互:GitHub地址

项目结构:

讲解:

一、使用scss语法

1、安装依赖

cnpm install node-sass sass-loader --save-dev

因为一些不知名的原因导致node-sass经常安装失败,所以采用cnpm方式安装最好

2、在.vue文件中的style节点加上lang=”scss”,这样就可以愉快地使用sass进行开发了,无需再webpack.base.config.js中配置loader,webpack会自动识别.scss文件以及.vue中的scss代码。

二、像vue一样使用路由

在使用mpvue提供的命令 vue init mpvue/mpvue-quickstart my-project 创建项目后,会发现每个页面都要配置main.js 文件,不仅繁琐而且显得多余,所以我们是否可以改造成像vue一样使用路由的方式呢,答案是可以的,需要用到mpvue-entry 和 mpvue-router-patch插件(集中式页面配置,自动生成各页面的入口文件,优化目录结构,支持新增页面热更新)和

mpvue-entry: 集中式页面配置,自动生成各页面的入口文件,优化目录结构,支持新增页面热更新

mpvue-router-patch: 在 mpvue 中使用 vue-router 兼容的路由写法

1、安装依赖

cnpm install mpvue-entry --save-dev
cnpm install mpvue-router-patch --save

2、项目src文件夹下创建router文件夹和router.js文件

基于mpvue搭建微信小程序项目框架的教程详解

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组件库克隆到本地

基于mpvue搭建微信小程序项目框架的教程详解

2、将上图中的dist目录拷贝到mpvue项目的输出目录中

基于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进行状态管理

1、安装

cnpm install vuex --save

2、引入(main.js文件)

impotr store from './vuex/index'


Vue.prototrype.$store = store//挂在到vue原型上

 五、使用flyio进行数据交互

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方法中执行接口请求
        this.$fly.get('http://******/user?id=133')
          .then(function (res) {
              //请求成功
              console.log('res',res);
          })
          .catch(function (err) {
            //请求失败
            console.log('err',err);
          });
      }

总结

以上所述是小编给大家介绍的基于mpvue搭建微信小程序项目框架的教程详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
在chrome中window.onload事件的一些问题
Mar 01 Javascript
JSON.parse 解析字符串出错的解决方法
Jul 08 Javascript
javascript实现日历控件(年月日关闭按钮)
Dec 12 Javascript
基于JavaScript实现鼠标箭头移动图片跟着移动
Aug 30 Javascript
Ubuntu系统下Angularjs开发环境安装
Sep 01 Javascript
JavaScript实现窗口抖动效果
Oct 19 Javascript
Select2.js下拉框使用小结
Oct 24 Javascript
完美解决IE不支持Data.parse()的问题
Nov 24 Javascript
COM组件中调用JavaScript函数详解及实例
Feb 23 Javascript
微信小程序云开发之模拟后台增删改查
May 16 Javascript
vue v-for 使用问题整理小结
Aug 04 Javascript
JavaScript实现单图片上传并预览功能
Sep 30 Javascript
Webpack4+Babel7+ES6兼容IE8的实现
Apr 10 #Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
Apr 10 #Javascript
用node撸一个监测复联4开售短信提醒的实现代码
Apr 10 #Javascript
从0到1搭建Element的后台框架的方法步骤
Apr 10 #Javascript
详解vue.js移动端配置flexible.js及注意事项
Apr 10 #Javascript
小程序分享模块超级详解(推荐)
Apr 10 #Javascript
关于JavaScript 数组你应该知道的事情(推荐)
Apr 10 #Javascript
You might like
CentOS 6.3下安装PHP xcache扩展模块笔记
2014/09/10 PHP
PHP标准类(stdclass)用法示例
2016/09/28 PHP
ecshop适应在PHP7的修改方法解决报错的实现
2016/11/01 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
老鱼 浅谈javascript面向对象编程
2010/03/04 Javascript
杨氏矩阵查找的JS代码
2013/03/21 Javascript
jquery批量控制form禁用的代码
2013/08/06 Javascript
express框架实现基于Websocket建立的简易聊天室
2017/08/10 Javascript
微信小程序自定义prompt组件步骤详解
2018/06/12 Javascript
理顺8个版本vue的区别(小结)
2018/09/17 Javascript
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
vue中如何实现后台管理系统的权限控制的方法步骤
2019/09/05 Javascript
Javascript中的this,bind和that使用实例
2019/12/05 Javascript
javascript实现点击星星小游戏
2019/12/24 Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
2020/07/09 Javascript
vue实现放大镜效果
2020/09/17 Javascript
详解vue-cli项目在IE浏览器打开报错解决方法
2020/12/10 Vue.js
[01:09:20]NB vs NAVI Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
Python实现的石头剪子布代码分享
2014/08/22 Python
python验证码识别教程之利用投影法、连通域法分割图片
2018/06/04 Python
Python OpenCV实现视频分帧
2019/06/01 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
Python使用for生成列表实现过程解析
2020/09/22 Python
将不规则的Python多维数组拉平到一维的方法实现
2021/01/11 Python
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
国外的一些J2EE面试题一
2012/10/13 面试题
大门门卫岗位职责
2013/11/30 职场文书
小学门卫岗位职责
2013/12/17 职场文书
项目合作协议书范本
2014/04/16 职场文书
政风行风评议心得体会
2014/10/21 职场文书
2014镇党委书记党建工作汇报材料
2014/11/02 职场文书
2014年学校办公室工作总结
2014/12/19 职场文书
2016七一建党节慰问信
2015/11/30 职场文书
技术转让协议书
2016/03/19 职场文书
python数据库批量插入数据的实现(executemany的使用)
2021/04/30 Python
教你怎么用Python处理excel实现自动化办公
2021/04/30 Python