🔗官方链接1
https://uniapp.dcloud.io/resource
🔗官方链接2
https://www.html5plus.org/doc/h5p.html
新版文档
https://uniapp.dcloud.io/?v=1645754259134
为了实现多端兼容,综合考虑编译速度、运行性能等因素,uni-app 约定了如下开发规范:
- 页面文件遵循 Vue 单文件组件 (SFC) 规范
- 组件标签靠近小程序规范,详见uni-app 组件规范
- 组件的基础 组件相比html 和vue有细微的区别
- 接口能力(JS API)靠近微信小程序规范,但需将前缀 wx 替换为 uni,详见uni-app接口规范
- 数据绑定及事件处理同 Vue.js 规范,同时补充了App及页面的生命周期
- 为兼容多端运行,建议使用flex布局进行开发
目录结构
┌─uniCloud 云空间目录,阿里云为uniCloud-aliyun,腾讯云为uniCloud-tcb(暂时用不上)
│─components 符合vue组件规范的uni-app组件目录
│ └─comp-a.vue 可复用的a组件
├─hybrid App端存放本地html文件的目录,详见
├─platforms 存放各平台专用页面的目录,详见
├─pages 业务页面文件存放的目录
│ ├─index
│ │ └─index.vue index页面
│ └─list
│ └─list.vue list页面
├─static 存放应用引用的本地静态资源(如图片、视频等)的目录,注意:静态资源只能存放于此
├─uni_modules 存放uni_module规范的插件。
├─wxcomponents 存放小程序组件的目录,(暂时用不上)
├─main.js Vue初始化入口文件
├─App.vue 应用配置,用来配置App全局样式以及监听 生命周期
├─manifest.json 配置应用名称、appid、logo、版本等打包信息,详见
├─pages.json 配置页面路由、导航条、选项卡等页面类信息,详见
└─uni.scss 这里是uni-app内置的常用样式变量
开始建项目的时候只有 以下部分
components
和vue一样,这里放置的都是可以复用的vue组件 如果需要建一个这个文件夹
pages
pages.json
需要配置的页面的信息
pages.json的第一个页面为启动的页面。其他为普通页面,当然启动页面也可以改
这里分成2类页面 一个非tabbar页面 一个是tabbar页面,
假设需要使用tabbar页面的,还需要单独的配置tabbar的页面,tabbar需要一个list页面组,至少使用2个page页面,需注意到的是,当使用tabbar页面的时候,tabbar页面的顶部无导航栏,并且切换页面(跳转)的时候不可以使用navigator的方式,这里仅可使用uni.SwitchTab,url不支持携带参数。当没有tabbar,正常传参跳转,具体可以看以下链接
参考文档
https://uniapp.dcloud.io/api/router?id=navigateto
app.vue
应用配置
这里可以检测到 生命周期 (如果只是demo的话,这部分不需要过多看)
组件的生命周期,及vue的生命周期
应用生命周期,及app整体的一个生命周期的变化
页面的生命周期,监视页面的变化,提供了一些特殊的api,具体看下面
https://uniapp.dcloud.io/collocation/frame/lifecycle?id=page
manifest.json
打包时的配置,暂时基本不需要动。
需注意的点
与vue开发不同,uniapp 开发过程有一些不同,但大部分还是和vue开发页面一样。
不同的部分:双向数据绑定需要使用this.$,数据请求和数据的缓存,,生命周期变化,页面通讯uniapp都有专门的api,组件变化等。
具体可以看以下官方推荐的2篇文章,
白话uni-app 【也是html、vue、小程序的区别】
https://ask.dcloud.net.cn/article/35657
https://segmentfault.com/a/1190000015684864