博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mpvue 同时开发和打包成H5和微信小程序(简易模板)
阅读量:2240 次
发布时间:2019-05-09

本文共 5081 字,大约阅读时间需要 16 分钟。

开始

这个项目是一个mpvue 的demo, 没有具体的业务实现方法,只有简单的页面切换,还有常用的一些方法封装,总体提供分开打包开发的思路

github源码 =>

需要看详细版有项目内容的,可以看这篇文章,有详细说明

目录结构

.├── README.md├── build                       小程序运行打包配置文件│   ├── build.js│   ├── check-versions.js│   ├── dev-client.js│   ├── dev-server.js│   ├── utils.js│   ├── vue-loader.conf.js│   ├── webpack.base.conf.js│   ├── webpack.dev.conf.js│   └── webpack.prod.conf.js├── buildH5                    H5运行打包配置文件│   ├── build.js│   ├── check-versions.js│   ├── dev-client.js│   ├── utils.js│   ├── vue-loader.conf.js│   ├── webpack.baseH5.conf.js│   ├── webpack.devH5.conf.js│   └── webpack.prodH5.conf.js├── config                   小程序运行打包配置文件         │   ├── dev.env.js│   ├── index.js│   └── prod.env.js├── configH5                H5运行打包配置文件│   ├── dev.env.js│   ├── index.js│   └── prod.env.js├── dist                    小程序打包生成的文件目录│   ├── app.js│   ├── app.json│   ├── app.wxss│   ├── components│   │   ├── card$79c1b934.wxml│   │   ├── counter$6c3d87bf.wxml│   │   ├── index$622cddd6.wxml│   │   ├── logs$31942962.wxml│   │   └── slots.wxml│   ├── copy-asset│   │   └── assets│   │       └── logo.png│   ├── pages│   │   ├── counter│   │   │   ├── main.js│   │   │   ├── main.wxml│   │   │   └── main.wxss│   │   ├── index│   │   │   ├── main.js│   │   │   ├── main.wxml│   │   │   └── main.wxss│   │   └── logs│   │       ├── main.js│   │       ├── main.json│   │       ├── main.wxml│   │       └── main.wxss│   └── static│       ├── css│       │   ├── app.wxss│       │   ├── pages│       │   │   ├── counter│       │   │   │   └── main.wxss│       │   │   ├── index│       │   │   │   └── main.wxss│       │   │   └── logs│       │   │       └── main.wxss│       │   └── vendor.wxss│       ├── img│       │   └── girl.png│       └── js│           ├── app.js│           ├── manifest.js│           ├── pages│           │   ├── counter│           │   │   └── main.js│           │   ├── index│           │   │   └── main.js│           │   └── logs│           │       └── main.js│           └── vendor.js├── distH5                          H5打包生成的文件目录│   ├── index.html│   └── static│       ├── css│       │   └── app.css│       ├── img│       │   ├── girl.png│       │   └── logo.png│       └── js│           ├── app.js│           ├── manifest.js│           └── vendor.js├── index.html                     入口index.html 页面├── package-lock.json├── package.json                   安装配置文件├── project.config.json├── src                             │   ├── App.vue                     小程序入口vue│   ├── AppH5.vue                   H5入口vue│   ├── api                         小程序和H5分别封装的方法│   │   ├── httpService.js│   │   └── wxService.js│   ├── assets                     静态资源文件│   │   └── logo.png│   ├── components                  组件│   │   └── card.vue│   ├── main.js                     小程序入口js│   ├── mainH5.js                   H5入口js│   ├── pages                       页面内容│   │   ├── counter│   │   │   ├── index.vue│   │   │   └── main.js│   │   ├── index│   │   │   ├── index.vue│   │   │   └── main.js│   │   └── logs│   │       ├── index.vue│   │       └── main.js│   ├── router                      H5路由│   │   └── index.js│   ├── store                       vuex存储│   │   └── index.js│   └── utils                       js封装方法│       └── index.js└── static                          静态资源文件    └── img        └── girl.png

简易说明

路由跳转

分别封装方法

H5 mainH5.js方法

Vue.mixin({  data () {    return {      service: '', // 服务      router: '/', // 路由路径      imgSrc: '' // 图片路径    }  },  methods: {      newroot () {          return  this.$route      },      navigatePageTo (url) {          this.$router.push(url)      },      reLaunchPageTo (url) {          this.$router.replace(url)      },      setStorageSync (name, data) {          sessionStorage.setItem(name, JSON.stringify(data))      },      getStorageSync (name) {          return JSON.parse(sessionStorage.getItem(name))      }  },  created () {      console.log('chrome')      this.service = httpService  }})

小程序main.js

Vue.mixin({  data() {    return {      service: '',      router: '/',      imgSrc: '/'    }  },  methods: {      newroot () {          return this.$root.$mp      },      navigatePageTo (url) {          wx.navigateTo({url: url})      },      reLaunchPageTo (url) {          wx.reLaunch({url: url})      },      setStorageSync (name, data) {          wx.setStorageSync(name, data)      },      getStorageSync (name) {          return wx.getStorageSync(name)      }  },  created() {      // console.log('wx')      this.service = wxService  }})

vuex 数据存储

小程序store 直接挂在 Vue原型上

Vue.prototype.$store = store

H5vue 还是和之前一样

new Vue({  el: '#app',  router,  components: { App },  template: '
', store})

样式编译

如遇样式错乱,注意.postcssrc.js

module.exports = {  "plugins": {    // "postcss-mpvue-wxss": {}, // 打包成H5时注释此行    "postcss-import": {},    "postcss-url": {},   // to edit target browsers: use "browserslist" field in package.json    "autoprefixer": {}  }}

转载地址:http://kkhbb.baihongyu.com/

你可能感兴趣的文章
composer安装YII
查看>>
Sublime text3快捷键演示
查看>>
sublime text3 快捷键修改
查看>>
关于PHP几点建议
查看>>
硬盘的接口、协议
查看>>
VLAN与子网划分区别
查看>>
Cisco Packet Tracer教程
查看>>
02. 交换机的基本配置和管理
查看>>
03. 交换机的Telnet远程登陆配置
查看>>
微信小程序-调用-腾讯视频-解决方案
查看>>
phpStudy安装yaf扩展
查看>>
密码 加密 加盐 常用操作记录
查看>>
TP 分页后,调用指定页。
查看>>
Oracle数据库中的(+)连接
查看>>
java-oracle中几十个实用的PL/SQL
查看>>
PLSQL常用方法汇总
查看>>
几个基本的 Sql Plus 命令 和 例子
查看>>
PLSQL单行函数和组函数详解
查看>>
Oracle PL/SQL语言初级教程之异常处理
查看>>
Oracle PL/SQL语言初级教程之游标
查看>>