1,环境配置(http://mpvue.com/mpvue/quickstart.html

//全局安装vue-cli3脚手架
npm install -g @vue/cli @vue/cli-init //创建一个基于 mpvue-quickstart 模板的control-task项目
vue init mpvue/mpvue-quickstart control-task //定义项目名、APPID、项目描述、是否使用vuex、esLint等 //安装依赖
cd my-project
$ npm install
$ npm run dev

2,这样执行npm run dev就能跑起来,打开微信开发者工具将项目导入。在src下修改vue文件就能动态实时打包到dist(转换后的标准小程序结构目录)目录下

3,如果想引入sass写css,和之前vue一样下载loader就行

npm install node-sass sass-loader --save-dev

4,使用iconfont(如果无效记得npn run dev重新构建下)

a,首先将选择需要用的图片通过购物车加入项目,然后下载

b,然后在static下新建iconfont文件夹,将下载文件解压进来

c,然后在App.vue 组件css下引入iconfont.css,也可在其他全局css中引入@import '../static/iconfont/iconfont.css';

d,页面直接使用<a class="iconfont" href="#"></a>

5,如果使用类似微信风格的UI 可以下载weui.css放到static下,在入口src/main.js下引入mport '../static/weui/weui.css'即可使用

6,引入flyio请求数据 https://github.com/wendux/fly

//1,     npm install flyio --save
//2, 在入口文件main.js用引入fly
import Fly from 'flyio/dist/npm/wx'
let fly = new Fly()
Vue.prototype.$fly = fly
//使用
this.$fly.get(url).then((res => {
console.log(resp)
})

7,mork生成随机数据 (参考 http://mockjs.com/examples.html

npm install mockjs
//在入口文件调用
const Mock = require('mockjs')
let data = Mock.mock({
'list|10': [{'id|+1': 1}]
})
说明规则: 'list|10': [{'id|+1': 1}]
// 属性名 name (id)
// 生成规则 rule (++i)
// 属性值 value (1)
'name|rule': value()

8,使用vuex管理数据

//1, npm install vuex -g
//2,在入口文件main.js中引入
import store from '@/store/store.js'
//将store对象放置在Vue的原型上, 为的是每个实例都可以使用
Vue.prototype.$store = store
//3,在组件中触发存数据
this.$store.dispatch('setData', res.data.subjects)
//4, 在action中发起消息
import {
DATASFUN
} from './mutation-type' export default {
setData ( { commit }, data ) {
console.log( "actions" )
//触发对应的mutation
commit( DATASFUN , data )
}
}
//5,在mutation中修改数据
import {
DATASFUN
} from './mutation-type' export default {
[ DATASFUN ] ( state , data ) {
state.datas = data
}
}
//6,在组件中使用store的数据
<div>{{datas[0].original_title}}</div>
computed : {
datas: function() { //通过方法访问
return this.$store.getters.datas;
}
},
(如果没有存getter里,拿数据要this.$store.state.datas,为避免计算属性中状态声明太多造成重复和冗余我们可以使用mapState简化
computed: {
...mapState({
datas: state => state.datas
})
},)
//7,在state中初始化位置
export default {
datas : []
}
//8,在getter中动态计算更新数据
export default {
datas: function(state){
return state.datas
}
}
//9,在stroe中管理数据
import Vue from 'vue'
import Vuex from 'vuex'
import store from './store'
import state from './state'
import actions from './actions'
import mutations from './mutations'
import getters from './getters' // 声明使用vuex
Vue.use( Vuex ) export default new Vuex.Store( {
state,
actions,
getters,
mutations
} )

9,如果不使用store,也可以配置全局变量

// 1, 在入口文件main.js 将globalData捆绑到Vue原型
//放在Vue实例之后const app = new Vue(App) Vue.prototype.globalData = getApp().globalData 2,设置全局变量URL
this.globalData.url = '127.0.0.1:8080'
3,获取URL
console.log(this.globalData.url)

10,开发小贴士

10-1, @touchstart.stop="click($event,index)" 使用$event可以获取点击DOM的 e 和自定义参数;

10-2,if (ev.target === ev.currentTarget) {}防止取到冒泡值

起手一个mpvue项目准备的更多相关文章

  1. 快速上手mpvue 项目

    初始化一个 mpvue 项目 $ node -v v8.9.0 $ npm -v 5.6.0 # 2. 由于众所周知的原因,可以考虑切换源为 taobao 源 $ npm set registry h ...

  2. 对前端的一个H5项目的所思所想

    最近接触一个前端HTML5的项目,虽然我主做iOS,但曾经也徒手用html+css+js+php写过一个博客,当然表示无压力了.结果.现在的前端发展的速度真是快啊,项目中用到Jquery,reactJ ...

  3. 基于Maven构建开发第一个Storm项目

    前面说过了Storm的测试项目,那么此时我们更想自己写一个小项目来练练手,首先我们自己的Windows系统上首先应该安装好maven,然后启动Eclipse for JavaEE版本,接下来开始建立项 ...

  4. 第一个Android项目——计算器

    第一个Android项目——计算器 效果 开始学Android一两个星期了,学习了一下基本的Activity.简单控件及几个简单布局,打算找个东西来练练手,于是就选择发计算器.关于计算器中用到的四则运 ...

  5. 如何把原生小程序项目合并的mpvue项目中

    当时的情景是这样的: 使用mpvue写微信小程序,写着写着项目写到一半了,突然间不想这样继续写了,想切换回原生小程序语法去写剩余部分. 如下图,红色框里的功能是已经用mpvue完成的功能,绿色框部分的 ...

  6. Python框架学习之用Flask创建一个简单项目

    在前面一篇讲了如何创建一个虚拟环境,今天这一篇就来说说如何创建一个简单的Flask项目.关于Flask的具体介绍就不详细叙述了,我们只要知道它非常简洁.灵活和扩展性强就够了.它不像Django那样集成 ...

  7. 第一个mpvue小程序开发总结

    前言 说起小程序,其实在去年我都还只试着照着官方文档写过demo的,不过现在这家公司小程序做得比较多,我来之后也参与了几个小程序的开发了,最开始那几个是用的wepy,最近一个开始转用mpvue开发,最 ...

  8. 微信小程序mpvue项目使用WuxWeapp前端UI组件

    前言:这是一篇简单粗暴的使用指南 在最近的小程序项目里前端UI框架最后选择使用WuxWeapp,这篇文章记录一下如何在小程序mpvue项目中使用该UI组件. 步骤一:下载源码 (地址在这里)主要是里面 ...

  9. 使用 vuetron 调试 mpvue 项目

    简介 由于小程序开发工具的封闭,我们无法通过安装 chrome 插件来方便地使用 vue-devtools 调试我们的 mpvue 项目.vuetron 是一个 vue.js 的项目调试工具, 同时支 ...

随机推荐

  1. SSD网络结构

    SSD算法,其英文全名是Single Shot MultiBox Detector. SSD的网络结构流程如下图所示:SSD总共11个block,相比较于之前的VGG16,改变了第5个block的第4 ...

  2. CFgym100020 Problem J. Uprtof

    题意:给你n个点m无向条边.每个点是黑色或者白色的.m条边第一条边边权为2^m,第二条边边权为2^(m-1)....... .在这个图上选择一些边连起来,使得满足:每个黑点连奇数条边,每个白点连偶数条 ...

  3. 【Luogu】【关卡2-4】排序Ex(2017年10月)

    任务说明:这里的排序就更上一层了.不仅融合了别的算法与技巧,排序本身也有各种花招.

  4. HDU 6326 Problem H Monster Hunter

    \(\mathtt{Problem H}\) \(\mathtt{Monster}\) \(\mathtt{Hunter}\) \(\mathcal{Description}\) 题目 给定一棵 \( ...

  5. spring boot 四大组件之Auto Configuration

    SpringBoot 自动配置主要通过 @EnableAutoConfiguration, @Conditional, @EnableConfigurationProperties 或者 @Confi ...

  6. Web前端/全栈核心(html5/css3/js/vue/react/angular/es6/node)观看笔记

    a标签中的超链接,需要加   http://    否则会出现页面找不到. iframe中添加a标签,a标签中的target属性可以控制即将打开的页面,在那个位置显示. _blank 在新窗口中打开被 ...

  7. Codeforces Round #568 (Div. 2) G1. Playlist for Polycarp (easy version) (状压dp)

    题目:http://codeforces.com/contest/1185/problem/G1 题意:给你n给选项,每个选项有个类型和价值,让你选择一个序列,价值和为m,要求连续的不能有两个相同的类 ...

  8. NX二次开发CreateDialog函数在UI.hxx文件和WinUser.h中的冲突【转载】

    文章出自https://blog.csdn.net/qq_41843732/article/details/91422764 在UG二次开发中,若使用MFC库,一旦加上#include<Afx. ...

  9. Arduino与水泵实验+土壤湿度传感器

    1 水泵实验我们这里是使用的继电器控制的水泵,注意再实验的时候电池的电压不要超过6v,太大容易烧毁水泵,如果是长时间的使用水泵,要注意将水泵放入水中,这样可以达到给水泵降温的效果.1.全新5V继电器模 ...

  10. VMware Network Adapter VMnet1/8详解

    转自:https://www.cnblogs.com/systemnet123/articles/2640883.html VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网 ...