使用uniapp开发一个微信小程序(踩坑)
-
页面中写有点击事件的盒子尺寸要大于20 * 20,点击范围太小的话会影响用户操作体验。
-
小程序里面调用的定时器要及时销毁,跳转页面时页面会销毁,但定时器并不会销毁掉,太多的定时器会占用过多的内存,影响小程序性能。
-
写的单个的vue文件不应该有太多的元素节点,否则加载时间长影响性能。
-
在优化小程序代码包体积时应该在manifest.json文件里开启分包优化
"optimization" : { "subPackages" : true }
- 代码在发布时应该去掉项目中的console.log打印信息,console.log也会影响小程序的页面性能,拖慢页面加载时间。
if (uni.getSystemInfoSync().platform !== "devtools") { console.log = () => {} }
- 项目中使用echarts图表,在官网下载时需要选择性的下载项目中用到的图表相关模块,这样可以减小echarts的js文件体积,页面中echarts图表的层级是高于弹窗的,图表会显示在弹窗上面。
解决:可以在弹窗出现的时候手动隐藏掉图表
-
微信小程序中页面栈最多叠加10层,最多跳转10个页面,超出10层的话就要销毁前面的页面栈。
-
项目中静态文件夹放的图片最好小于30kb,只放一些用到的小图标,体积大的图片可以放到后台服务器,通过远程地址引入,否则打包的时候会发现包体积特别大。
-
项目中引入本地图片的时候要采用相对路径地址,图片的src使用变量动态引入时要通过require的方式,否则会报错。
-
给小程序自定义tabbar的时候,需要给tabbar手动设置当前页面的活跃状态。
if (typeof this.$mp.page.getTabBar === 'function' && this.$mp.page.getTabBar()) {
this.$mp.page.getTabBar().setData({
active: 0
})
}
- 组件中不会在视图中动态变化的数据不要写在data里面,data里面的数据最好不要嵌套层级过多。
......待补充。
浙公网安备 33010602011771号