mpvue是一种基于Vue.js的小程序开发框架,它提供了一种快速、简单、且高效的方式来构建小程序。 使用mpvue可以很容易地将Vue.js的开发经验应用于小程序开发,并且还具有小程序原生接入能力、原生渲染性能等优点。在本文中,我们将对mpvue开发小程序时需要注意的事项进行介绍。
一、框架原理
mpvue的整个开发流程可以概括为:
1.通过npm安装mpvue-cli;
2.使用mpvue-cli初始化一个mpvue项目;
3.编写Vue.js风格的组件、页面及模板;
4.使用mpvue-loader进行编译打包;
5.将打包后的代码上传到微信小程序平台。
mpvue相当于把Vue.js的语法糖,通过模板编译后,生成可以直接在小程序中使用的WXML和WXSS代码,并且mpvue底层封装了小程序原生的API,方便了我们的开发。
二、开发注意事项
1.vue-router的使用
mpvue使用的是vue-router,用法和Vue.js中基本一致,但由于小程序是通过Page进行页面切换的,因此需要在VueRouter中使用mpvue的toWxPage方法,将VueRouter中的路由信息转换为小程序中的page路径和启动参数:
```
import { toWxPage } from 'mpvue-router-patch';
Vue.use(VueRouter);
const router = new VueRouter({
routes: [
{
path: '/',
name: 'HelloWorld',
component: HelloWorld
}
]
})
router.beforeEach((to, from, next) => {
wx.navigateTo(toWxPage(to, next));
});
export default router;
```
2.页面的引入
mpvue中的页面可以使用import或者require进行引入,不需要指定后缀名。 例如:
```
import Index from './Index.vue';
export default {
components: {
Index
}
};
```
3.图片的引入
mpvue中的图片资源使用相对路径,但由于小程序中的图片需要经过上传才可以正常显示,因此需要在webpack中使用url-loader进行处理,将图片资源转换成base64格式。
4.生命周期的使用
mpvue中的生命周期与Vue.js中的基本一致,但是需要避免使用beforeCreate和created这两个生命周期函数,因为在小程序中这两个生命周期函数会被多次调用。 对于小程序中的onLoad、onShow、onReady等生命周期函数,可以通过在组件中定义相应的方法来进行调用。
5.样式的定义
mpvue中的样式需要使用类Vue.js的作用域样式,即使用scoped属性,但由于小程序中的WXML只支持一层class的定义,所以需要在根元素定义一层样式名。
```
这是一个小程序页面
.example {
color: #333;
}
```
6.原生组件的使用
mpvue中可以通过标签的is属性来使用小程序原生组件,例如:
```
export default {
data() {
return {
bmapLongitude: 116.407845,
bmapLatitude: 39.914101,
markers: [{
iconPath: '/static/marker_green.png',
id: 0,
latitude: 39.914101,
longitude: 116.407845,
width: 50,
height: 50
}],
scale: 14,
covers: [],
polyline: {},
circles: [],
controls: []
};
}
};
{
"usingComponents": {
"map": "/static/wx-map/wx-map"
}
}
```
需要注意的是,在使用原生组件时,需要在config.js文件中声明使用的组件。
7.异步请求
mpvue中不能使用Vue.js中的jsonp库等第三方库进行跨域请求,因为小程序不支持跨域。可以使用原生组件wx.request进行异步请求,例如:
```
export default {
methods: {
getInfo() {
wx.request({
url: 'info.json',
success(res) {
console.log(res.data);
}
});
}
}
};
{
"navigationBarTitleText": "信息页"
}
```
三、总结
mpvue提供了一种快速、简单、且高效的方式来构建小程序,开发者可以使用Vue.js的开发经验来开发小程序,并且还具有小程序原生接入能力、原生渲染性能等优点。在开发过程中,需要注意vue-router的使用、页面的引入、图片的引入、生命周期的使用、样式的定义、原生组件的使用和异步请求等方面。掌握了这些注意事项,就可以更加高效地使用mpvue进行小程序开发。