微信小程序 - 结构目录 | 配置介绍
结构目录
小程序框架提供了自己的视图层描述语言 WXML
和 WXSS
,以及 JavaScript
,并在视图层与逻辑层间提供了数据传输和事件系统,让开发者能够专注于数据与逻辑。
一.小程序文件结构和传统web对比
结构 | 传统web | 微信小程序 |
---|---|---|
结构 | HTML | WXML |
样式 | CSS | WXSS |
逻辑 | Javascript | Javascript |
配置 | 无 | JSON |
通过以上对比得出,传统web 是三层结构。而微信小程序 是四层结构,多了一层 配置.json
二.基本的项目目录
配置介绍
一个小程序应用程序会包括最基本的两种配置文件。一种是全局的 app.json
和 页面自己的 page.json
一.全局配置app.json
app.json
是当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等。普通快速启动项目里边的 app.json
配置
app.json
{ "pages": [ "pages/test/test", # 新增页面,第一位代表首页 "pages/index/index", "pages/logs/logs" ], "window": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "小程序", "navigationBarTextStyle": "white" }, "sitemapLocation": "sitemap.json" }
字段的含义
-
pages
字段 —— 用于描述当前小程序所有页面路径,这是为了让微信客户端知道当前你的小程序页面定义在哪个目录。 -
window
字段 —— 定义小程序所有页面的顶部背景颜色,文字颜色定义等。
局部配置page.json
page.json
这里的 page.json
其实用来表示页面目录下的 page.json
这类和小程序页面相关的配置。
开发者可以独立定义每个页面的一些属性,如顶部颜色、是否允许下拉刷新等等。
页面的配置只能设置 app.json
中部分 window
配置项的内容,页面中配置项会覆盖 app.json
的 window
中相同的配置项。
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
navigationBarBackgroundColor | HexColor | #000000 | 导航栏背景颜色,如 #000000 |
navigationBarTextStyle | String | white | 导航栏标题颜色,仅支持 black / white |
navigationBarTitleText | String | 导航栏标题文字内容 | |
backgroundColor | HexColor | #ffffff | 窗口的背景色 |
backgroundTextStyle | String | dark | 下拉 loading 的样式,仅支持 dark / light |
enablePullDownRefresh | Boolean | false | 是否全局开启下拉刷新。 详见 Page.onPullDownRefresh |
onReachBottomDistance | Number | 50 | 页面上拉触底事件触发时距页面底部距离,单位为px。 详见 Page.onReachBottom |
disableScroll | Boolean | false | 设置为 true 则页面整体不能上下滚动;只在页面配置中有效,无法在 app.json 中设置该项 |
补充:
小程序底边栏
app.json
{ "tabBar": { "color": "#456", "selectedColor": "#444444", "backgroundColor": "#ffffff", "borderStyle": "white", "list": [ { "pagePath": "pages/test/test", // 路径 "text": "首页", "iconPath": "images/icon1.png", // 默认前图片 "selectedIconPath": "images/icon1-active.png" // 点击后图片 }, { "pagePath": "pages/index/index", "text": "test1", "iconPath": "images/icon2.png", "selectedIconPath": "images/icon2-active.png" } ] }, }