微信小程序开发入门:2 框架,2.1 文件目录结构,2.2 配置

小程序开发框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生 APP 体验的服务。

框架提供了自己的视图层描述语言 WXML 和 WXSS,以及基于 JavaScript 的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,让开发者可以方便的聚焦于数据与逻辑上。

2.0 框架简介

1、响应的数据绑定
框架的核心是一个响应的数据绑定系统。整个系统分为两块:视图层(View)和逻辑层(App Service)。框架可以让数据与视图非常简单地保持同步。当做数据修改的时候,只需要在逻辑层修改数据,视图层就会做相应的更新。

2、页面管理
框架 管理了整个小程序的页面路由,可以做到页面间的无缝切换,并给以页面完整的生命周期。开发者需要做的只是将页面的数据,方法,生命周期函数注册进 框架 中,其他的一切复杂的操作都交由 框架 处理。

3、基础组件
框架 提供了一套基础的组件,这些组件自带微信风格的样式以及特殊的逻辑,开发者可以通过组合基础组件,创建出强大的微信小程序 。

4、丰富的API
框架 提供丰富的微信原生 API,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等。

2.1 文件目录结构

小程序包含一个描述整体程序的 app 和多个描述各自页面的 page。

一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下:

小程序主体文件

一个小程序页面由四个文件组成,分别是:

小程序页面文件

注意:为了方便开发者减少配置项,描述页面的四个文件必须具有相同的路径与文件名。

2.2 配置

app.json文件用来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。

以下是一个包含了所有配置选项的 app.json :

{
  "pages": [
    "pages/index/index",
    "pages/logs/index"
  ],
  "window": {
    "navigationBarTitleText": "Demo"
  },
  "tabBar": {
    "list": [{
      "pagePath": "pages/index/index",
      "text": "首页"
    }, {
      "pagePath": "pages/logs/logs",
      "text": "日志"
    }]
  },
  "networkTimeout": {
    "request": 10000,
    "downloadFile": 10000
  },
  "debug": true
}

2.2.1 app.json 配置项列表

app.json 配置项列表

2.2.2 pages

接受一个数组,每一项都是字符串,来指定小程序由哪些页面组成。每一项代表对应页面的【路径+文件名】信息,数组的第一项代表小程序的初始页面。小程序中新增/减少页面,都需要对 pages 数组进行修改。

文件名不需要写文件后缀,因为框架会自动去寻找路径下 .json, .js, .wxml, .wxss 四个文件进行整合。

2.2.3 window

用于设置小程序的状态栏、导航条、标题、窗口背景色。

属性说明:

window 对象属性

2.2.4 tabBar

如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。

Tip:

  1. 当设置 position 为 top 时,将不会显示 icon
  2. tabBar 中的 list 是一个数组,只能配置最少2个、最多5个 tab,tab 按数组的顺序排序。

属性说明:

tabBar 对象属性

其中 list 接受一个数组,数组中的每个项都是一个对象,其属性值如下:

list 对象属性

2.2.5 networkTimeout

可以设置各种网络请求的超时时间。

属性说明:

networkTimeout 对象属性

2.2.6 page.json

每一个小程序页面也可以使用.json文件来对本页面的窗口表现进行配置。 页面的配置比app.json全局配置简单得多,只是设置 app.json 中的 window 配置项的内容,页面中配置项会覆盖 app.json 的 window 中相同的配置项。

页面的.json只能设置 window 相关的配置项,以决定本页面的窗口表现,所以无需写 window 这个键,如:

page.json 的window 对象属性

参考资料:
框架:https://developers.weixin.qq.com/miniprogram/dev/framework/MINA.html
文件目录结构:https://developers.weixin.qq.com/miniprogram/dev/framework/structure.html
配置:https://developers.weixin.qq.com/miniprogram/dev/framework/config.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,224评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,784评论 25 709
  • 路透社咯
    BetterMan_46fc阅读 2,738评论 0 0
  • 丙申三月,春暖花开清风来。 星点寒雨,斜落沾湿西窗前。 无由思绪,摇曳浮沉泛心海。 清明惹愁,更忆前尘往昔事。 少...
    老彭阿辉阅读 3,517评论 2 2
  • 人生總在不經意間留下珍貴的回憶。 四月下旬,珍老師建議小牡羊可以去考國家心理師證照。在考慮初期,心...
    Xuanmany小牡羊阅读 1,603评论 0 2

友情链接更多精彩内容