uni-app 开发规范

开发规范

为了实现多端兼容,综合考虑编译速度、运行性能等因素,uni-app 约定了如下开发规范:

  • 页面文件遵循 Vue 单文件组件 (SFC) 规范
  • 组件标签靠近小程序规范,详见 uni-app 组件规范
  • 接口能力(JS API)靠近微信小程序规范,但需将前缀 wx 替换为 uni,详见 uni-app 接口规范
  • 数据绑定及事件处理同 Vue.js 规范,同时补充了 App 及页面的生命周期
  • 为兼容多端运行,建议使用 flex 布局进行开发

目录结构

一个 uni-app 工程,默认包含如下目录及文件:

  • cloudfunctions
  • components
    • comp-a.vue
  • hybrid
  • platforms
  • pages
    • index
      • index.vue
    • list
      • list.vue
  • static
  • wxcomponents
  • main.js
  • App.vue
  • manifest.json
  • pages.json

说明:

uni-app 项目默认目录结构
目录/文件说明
cloudfunctions云函数目录(阿里云为 aliyun,腾讯云为 tcb,详见 uniCloud)。
components符合 vue 组件规范的 uni-app 组件目录。
omp-a.vue可复用的 a 组件。
hybrid存放本地网页的目录。
platforms存放各平台专用页面的目录。
pages业务页面文件存放的目录。
index/index.vueindex 页面存放的路径。
list/list.vuelist 页面存放的路径。
static存放应用引用静态资源(如图片、视频等)的目录,注意:静态资源只能存放于此。
wxcomponents存放小程序组件的目录。
main.jsVue 初始化入口文件。
App.vue应用配置,用来配置 App 全局样式以及监听应用生命周期。
manifest.json配置应用名称、appid、logo、版本等打包信息。
pages.json配置页面路由、导航条、选项卡等页面类信息。
其他
有效目录说明
app-plusApp
h5H5
mp-weixin微信小程序
mp-alipay支付宝小程序
mp-baidu百度小程序

说明:

  • 编译到任意平台时,static 目录下的文件均会被打包进去,非 static 目录下的文件(vue、js、css 等)被引用到才会被包含进去。
  • static 目录下的 js 文件不会被编译,如果里面有 es6 的代码,不经过转换直接运行,在手机设备上会报错。
  • css、less/scss 等资源同样不要放在 static 目录下,建议这些公用的资源放在 common 目录下。
  • HbuilderX 1.9.0+ 支持在根目录创建 ext.json sitemap.json 文件。