uniapp开发注意事项(建议)

手机APP/开发
492
0
0
2022-04-02
标签   uni-app
多看文档,结合官方示例程序

moveHandle 可以用来处理 touchmove 的事件,也可以是一个空函数。

plus.globalEvent.addEventListener 监听原生扩展的事件。

App端若要使用操作window、document的库,需要通过renderjs来实现。

分包加载配置,subPackages 为小程序的分包加载机制。App里始终为整包。subPackages 里的pages的路径是 root 下的相对路径,不是全路径。

App平台:使用 <video/> 组件,打包 App 时必须勾选 manifest.json->App 模块权限配置VideoPlayer 模块。

App平台:如果使用的视频路径为本地路径,需要配置资源为释放模式:在 manifest.json 文件内 app-plus 节点下新增 runmode 配置,设置值为liberate。

webview在App 平台同时支持网络网页和本地网页,但本地网页及相关资源(js、css等文件)必须放在 uni-app 项目根目录->hybrid->html 文件夹下;小程序仅支持加载网络网页,不支持本地html。

onBackPress监听页面导航栏的返回按钮的点击事件,不能监听浏览器返回以及手机的返回。

import css 文件时,只能用相对路径,scss和less同理

uni.getSystemInfoSync().platform 判断当前运行环境

一像素边框为1px,其它尺寸单位建议用rpx处理,随着屏幕变宽,字体会变大、高度会变大

pages.json 里的 titleNView ,页面中涉及plus api 的单位,只支持 px

微信小程序只支持单文件上传

H5端页面刷新之后页面栈会消失,此时navigateBack不能返回,如果一定要返回可以使用history.back()导航到浏览器的其他历史记录.

选择非媒体文件,可以使用Native.js,无需原生插件,iOS端需要原生插件。

使用设备权限时,比如相机,语音,都要先判断一下访问权限

屏幕高度=状态栏高度+原生导航栏高度+可使用窗口高度+原生tabbar高度。

从APP分享到微信时,无法判断用户是否点击取消分享

关于文本超出展示需要在超出展示盒子的内部在内嵌一层子元素

static 目录不要存放 js css less/scss 文件, 简易存放在common目录

图片视频等资源建议使用网络路径或者本地绝对路径

splash启动封面 splash只能是标准png

scroll-view 不适合放长列表,有性能问题。长列表滚动和下拉刷新,应该使用原生导航栏搭配页面级的滚动和下拉刷新实现。

如需调节checkbox,radio大小,可通过css的scale方法调节,如缩小到50%style="transform:scale(0.5)"。

页面结构复杂,css样式太多的情况,使用 image 可能导致样式生效较慢,出现 “闪一下” 的情况,设置 image{will-change: transform} ,可优化此问题。

小程序不支持在css中使用本地文件,包括本地的背景图和字体文件。需以base64方式方可使用。开发环境除外

非H5端 js模块只支持uni-app 已有的 API包括h5+。

vue 组件中使用小程序组件时,注意在 pages.json 的 globalStyle 中配置 usingComponents,

以:style=""这样的方式设置px像素值,其值为实际像素,不会被编译器转换。

禁止蒙版下的页面滚动,可使用 @touchmove.stop.prevent="moveHandle"