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


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 极速 隐藏/显示万行表格列只需 60毫秒
Mar 28 Javascript
Javascript 代码也可以变得优美的实现方法
Jun 22 Javascript
Javascript 事件流和事件绑定
Jul 16 Javascript
jquery.cookie.js 操作cookie实现记住密码功能的实现代码
Apr 27 Javascript
js+css实现增加表单可用性之提示文字
Jun 03 Javascript
JS实现新浪博客左侧的Blog管理菜单效果代码
Oct 22 Javascript
让编辑器支持word复制黏贴、截屏的js代码
Oct 17 Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
Jan 20 Javascript
vue之debounce属性被移除及处理详解
Nov 13 Javascript
JavaScript canvas实现跟随鼠标事件
Feb 10 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
Oct 29 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
Oct 31 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
2006/12/14 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
2015/12/17 PHP
Yii开启片段缓存的方法
2016/03/28 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
jquery form表单提交插件asp.net后台中文解码
2010/06/12 Javascript
javascript学习笔记(七) js函数介绍
2012/06/19 Javascript
JavaScript匿名函数之模仿块级作用域
2015/12/12 Javascript
jQuery实现图片走马灯效果的原理分析
2016/01/16 Javascript
Bootstrap入门书籍之(一)排版
2016/02/17 Javascript
Jquery ajax请求导出Excel表格的实现代码
2016/06/08 Javascript
JS关闭窗口时产生的事件及用法示例
2016/08/20 Javascript
node.js实现快速截图
2016/08/27 Javascript
微信小程序开发(一) 微信登录流程详解
2017/01/11 Javascript
javascript html5轻松实现拖动功能
2017/03/01 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
2017/03/06 Javascript
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
vue-cli webpack2项目打包优化分享
2018/02/07 Javascript
浅谈layui使用模板引擎动态渲染元素要注意的问题
2019/09/14 Javascript
JavaScript中的null和undefined用法解析
2019/09/30 Javascript
JS实现骰子3D旋转效果
2019/10/24 Javascript
ES5和ES6中类的区别总结
2020/12/21 Javascript
[01:32]DOTA2上海特锦赛现场采访:最想COS的英雄
2016/03/25 DOTA
用Python抢过年的火车票附源码
2015/12/07 Python
Pycharm学习教程(7)虚拟机VM的配置教程
2017/05/04 Python
python读出当前时间精度到秒的代码
2019/07/05 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
python多线程使用方法实例详解
2019/12/30 Python
越南电子产品购物网站:FPT Shop
2017/12/02 全球购物
希腊香水和化妆品购物网站:Parfimo.gr
2019/10/03 全球购物
秘书行业自我鉴定范文
2013/12/30 职场文书
趣味运动会活动方案
2014/02/12 职场文书
《小白兔和小灰兔》教学反思
2014/02/18 职场文书
《最后的姿势》教学反思
2014/02/27 职场文书
《月球之谜》教学反思
2014/04/10 职场文书
初中思品教学反思
2016/02/20 职场文书
vue-cli4.5.x快速搭建项目
2021/05/30 Vue.js