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


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 相关文章推荐
在JavaScript中,为什么要尽可能使用局部变量?
Apr 06 Javascript
9个javascript语法高亮插件 推荐
Jul 18 Javascript
Jquery validation remote 验证的缓存问题解决方法
Mar 25 Javascript
跟我学Node.js(四)---Node.js的模块载入方式与机制
Jun 04 Javascript
js创建表单元素并使用submit进行提交
Aug 14 Javascript
JavaScript实现的圆形浮动标签云效果实例
Aug 06 Javascript
JavaScript实现算术平方根算法-代码超简单
Sep 11 Javascript
浅析javascript异步执行函数导致的变量变化问题解决思路
May 13 Javascript
js实现华丽的九九乘法表效果
Mar 29 Javascript
使用 Vue.js 仿百度搜索框的实例代码
May 09 Javascript
ES6深入理解之“let”能替代”var“吗?
Jun 28 Javascript
layui 实现表单和文件上传一起传到后台的例子
Sep 16 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
B2K与车机的中波PK
2021/03/02 无线电
?算你??的 PHP 程式大小
2006/12/06 PHP
php对gzip文件或者字符串解压实例参考
2008/07/25 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
2017/02/25 PHP
浅谈ThinkPHP中initialize和construct的区别
2017/04/01 PHP
php5与php7的区别点总结
2019/10/11 PHP
javascript 打印页面代码
2009/03/24 Javascript
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
2012/07/25 Javascript
A标签中通过href和onclick传递的this对象实现思路
2013/04/19 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
2013/05/17 Javascript
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
2013/06/29 Javascript
js限制文本框只能输入数字方法小结
2014/06/16 Javascript
chrome浏览器如何断点调试异步加载的JS
2016/09/05 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
JS实现根据密码长度显示安全条功能
2017/03/08 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
node实现定时发送邮件的示例代码
2017/08/26 Javascript
微信小程序实现图片压缩功能
2018/01/26 Javascript
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python中的特殊语法:filter、map、reduce、lambda介绍
2015/04/14 Python
浅谈Django学习migrate和makemigrations的差别
2018/01/18 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
2018/10/29 Python
pycharm 解除默认unittest模式的方法
2018/11/30 Python
python不相等的两个字符串的 if 条件判断为True详解
2020/03/12 Python
Python开发入门——迭代的基本使用
2020/09/03 Python
美国玛丽莎收藏奢华时尚商店:Marissa Collections
2016/11/21 全球购物
Ralph Lauren法国官网:美国高品味时装品牌
2017/12/08 全球购物
几个Linux面试题笔试题
2016/08/01 面试题
演讲比赛获奖感言
2014/02/02 职场文书
聘任书模板
2014/03/29 职场文书
捐助感谢信
2015/01/22 职场文书
2015年高校教师个人工作总结
2015/05/25 职场文书
祝寿主持词
2015/07/02 职场文书
感谢信的技巧及范例
2019/05/15 职场文书
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android