微信小程序 配置文件详细介绍


Posted in Javascript onDecember 14, 2016

下面以开发者工具自动生成的程序框架为例,对小程序的框架进行介绍。

选择一个空的项目目录创建一个小程序项目,如下图:
微信小程序 配置文件详细介绍
创建完成后我们看到如下目录结构:
微信小程序 配置文件详细介绍
目录结构

微信小程序 配置文件详细介绍

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

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

文件 必须 作用
app.js 小程序逻辑
app.json 小程序公共设置
app.wxss 小程序公共样式表

pages目录下为小程序页面,每个页面须建立独立的文件夹,例如上面生成的小程序有两个页面,分别为pages/index、pages/logs,一个页面由四个文件组成,分别是:

文件类型 必须 作用
js 页面逻辑
wxml 页面结构
wxss 页面样式表
json 页面配置

配置

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

{
 "pages":[
  "pages/index/index",
  "pages/logs/logs"
 ],
 "window":{
  "backgroundTextStyle":"light",
  "navigationBarBackgroundColor": "#fff",
  "navigationBarTitleText": "WeChat",
  "navigationBarTextStyle":"black"
 }
}

app.json共提供了以下配置项:

属性 类型 必填 描述
pages String Array 设置页面路径
window Object 设置默认页面的窗口表现
tabBar Object 设置底部
networkTimeout Object 设置网络超时时间
debug Boolean 设置是否开

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

window

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

属性 类型 默认值 描述
navigationBarBackgroundColor HexColor 000000 导航栏背景颜色,如”#000000”
navigationBarTextStyle String white 导航栏标题颜色,仅支持 black/white
navigationBarTitleText String 导航栏标题文字内容
backgroundColor HexColor ffffff 窗口的背景色
backgroundTextStyle String dark 下拉背景字体、loading 图的样式,仅支持 dark/light
enablePullDownRefresh Boolean false 是否开启下拉刷新,详见页面相关事件处理函数。

tabBar

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

tabBar 是一个数组,只能配置最少2个、最多5个 tab,tab 按数组的顺序排序。

属性 类型 默认值 描述
color HexColor tab 上的文字默认颜色
selectedColor HexColor tab 上的文字选中时的颜色
backgroundColor HexColor tab 的背景色
borderStyle String black tabbar上边框的颜色, 仅支持 black/white
list Array tab 的列表,详见 list 属性说明,最少2个、最多5个 tab
position String bottom 可选值 bottom、top

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

属性 类型 必填 说明
pagePath String 页面路径,必须在 pages 中先定义
text String tab 上按钮文字
iconPath String 图片路径,icon 大小限制为40kb
selectedIconPath String 选中时的图片路径,icon 大小限制为40kb

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

属性说明:

属性 类型 必填 说明
request Number wx.request的超时时间,单位毫秒
connectSocket Number wx.connectSocket的超时时间,单位毫秒
uploadFile Number wx.uploadFile的超时时间,单位毫秒
downloadFile Number wx.downloadFile的超时时间,单位毫秒

可以在开发者工具中开启 debug 模式,在开发者工具的控制台面板,调试信息以 info 的形式给出,其信息有Page的注册,页面路由,数据更新,事件触发 。

page.json

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

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

{
 "navigationBarBackgroundColor": "#ffffff",
 "navigationBarTextStyle": "black",
 "navigationBarTitleText": "微信接口功能演示",
 "backgroundColor": "#eeeeee",
 "backgroundTextStyle": "light"
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
善用事件代理,警惕闭包的性能陷阱。
Jan 20 Javascript
jQuery 设置 CSS 属性示例介绍
Jan 16 Javascript
2014年最火的Node.JS后端框架推荐
Oct 27 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
Mar 13 Javascript
jQuery+HTML5实现手机摇一摇换衣特效
Jun 05 Javascript
CSS中position属性之fixed实现div居中
Dec 14 Javascript
JavaScript学习笔记之数组随机排序
Mar 23 Javascript
JS onkeypress兼容性写法详解
Apr 27 Javascript
webpack入门必知必会
Jan 16 Javascript
jquery Easyui Datagrid实现批量操作(编辑,删除,添加)
Feb 20 Javascript
jQuery Validate插件ajax方式验证输入值的实例
Dec 21 jQuery
vue 实现axios拦截、页面跳转和token 验证
Jul 17 Javascript
微信小程序 闭包写法详细介绍
Dec 14 #Javascript
微信小程序 wx.uploadFile无法上传解决办法
Dec 14 #Javascript
bootstrap日历插件datetimepicker使用方法
Dec 14 #Javascript
详解jQuery停止动画——stop()方法的使用
Dec 14 #Javascript
实例解析Array和String方法
Dec 14 #Javascript
利用JavaScript实现拖拽改变元素大小
Dec 14 #Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
Dec 14 #Javascript
You might like
php 数组二分法查找函数代码
2010/02/16 PHP
PHP扩展开发入门教程
2015/02/26 PHP
php支持断点续传、分块下载的类
2016/05/02 PHP
Laravel SQL语句记录方式(推荐)
2016/05/26 PHP
广泛收集的jQuery拖放插件集合
2012/04/09 Javascript
jQuery控制输入框只能输入数值的小例子
2013/03/20 Javascript
不提示直接关闭网页窗口的JS示例代码
2013/12/17 Javascript
extjs 时间范围选择自动判断的实现代码
2014/06/24 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
如何选择适合你的JavaScript框架
2017/11/20 Javascript
微信小程序之几种常见的弹框提示信息实现详解
2019/07/11 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
2020/03/17 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
[01:03]DOTA2新的征程 你的脚印值得踏上
2014/08/13 DOTA
Python的面向对象编程方式学习笔记
2016/07/12 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
2017/11/14 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
python-sys.stdout作为默认函数参数的实现
2020/02/21 Python
Pycharm 使用 Pipenv 新建的虚拟环境(图文详解)
2020/04/16 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
python制作微博图片爬取工具
2021/01/16 Python
css3动画鼠标放上图片逐渐变大鼠标离开图片逐渐缩小效果
2021/01/27 HTML / CSS
HTML5中canvas中的beginPath()和closePath()的重要性
2018/08/24 HTML / CSS
HTML5实现签到 功能
2018/10/09 HTML / CSS
美国领先的奢侈手表在线零售商:WatchMaxx
2017/12/17 全球购物
日语求职信范文
2013/12/17 职场文书
司法所长先进事迹
2014/06/02 职场文书
落实八项规定专题民主生活会对照检查材料
2014/09/15 职场文书
大二学生自我检讨书
2014/10/23 职场文书
2014年幼儿园园务工作总结
2014/12/05 职场文书
关于颐和园的导游词
2015/01/30 职场文书
2016年七夕情人节宣传语
2015/11/25 职场文书
Python自动化爬取天眼查数据的实现
2021/06/15 Python
python运行脚本文件的三种方法实例
2022/06/25 Python