step1: 安装
首先跟随官网的5分钟教程尝试一次,安装好基础的开发环境
Home - mpvue-docs
之后跟随简书上的某个系列教程亲自动手写一次,了解基础的组件写法和状态存储
使用mpvue开发小程序教程
step2: 页面样式 px2rpx的设置
因为小程序里提供了类似rem的布局单位rpx。
而mpvue集成了px2rpx-loader组件,所以直接在css中使用px。在打包时webpack会自动转换成rpx。
px2rpx配置路径 build/utils.js 33行
默认是按照750px的尺寸制作的,但是部分情况下会变成375px。这时候可以修改打包的配置如下:
1 2 3 4 5 6 7
| var px2rpxLoader = { loader: 'px2rpx-loader', options: { baseDpr: 1, rpxUnit: 1 } }
|
step3: 常见问题
在main.js 里面的config失效,无法生成app.json?
在src目录下应该存在app.json文件 把src/main.js中的config部分copy过去即可
原文:segmentfault
navigateTo:fail page is not found
跳转的页面未在src/app.json中配置,把 pages/xxx/main加入到json中即可
mpvue如何设置首页
src/main.js中设置 “^pages/index/main” 是无效的
mpvue编辑的首页是app.json pages的第一项。
** 单一页面中使用上下拉加载 上拉加载有效,下拉刷新却无效? ** 在对应页面下,新建main.json页面。把config配置文件拷贝之后重新编译即可
main.json
1 2 3 4 5 6
| { "navigationBarTitleText": "首页", "enablePullDownRefresh": true, "backgroundTextStyle": "dark", "backgroundColor": "#fff" }
|
父子级组件数据双向传递
vue 父子组件通信方法
v-for标签打包失败
1 2 3 4
| <ul v-for="(moment,index) in momentsList" :key="index"> ... </ul>
|
src赋值的问题
map循环输出时,img的src设置需要这样写
1 2
| <img v-bind:src="moment.creatorAvatar"
|
暂时关闭eslint或者某个页面不使用eslint
某个页面不想使用eslint可以在页面顶部加上/* eslint-disable */的注释
dev开发时 热更新想先跳过eslint可以在webpack.base.conf.js中注释以下内容
1 2 3 4 5 6 7 8 9
| { test: /\.(js|vue)$/, loader: 'eslint-loader', enforce: 'pre', include: [resolve('src'), resolve('test')], options: { formatter: require('eslint-friendly-formatter') } },
|
组件使用案例
swiper 微信官方文档 | demo案例