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

发布时间 - 2026-01-10 21:49:26    点击率:

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

选择一个空的项目目录创建一个小程序项目,如下图:

创建完成后我们看到如下目录结构:
目录结构

小程序包含一个描述整体程序的 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"
}

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


# 微信小程序  # 配置文件详解  # 配置文件介绍  # 微信小程序购物商城系统开发系列-目录结构介绍  # 微信小程序 wx.request合法域名配置详解  # 微信公众号菜单配置微信小程序实例详解  # 微信小程序 教程之小程序配置  # 微信小程序Server端环境配置详解(SSL  # Nginx HTTPS  # TLS 1.2 升级)  # 微信小程序(二)Window 配置详细介绍  # 微信小程序 Nginx环境配置详细介绍  # 微信小程序学习(4)-系统配置app.json详解  # node.js微信小程序配置消息推送的实现  # 微信小程序学习笔记之目录结构、基本配置图文详解  # 都是  # 是一个  # 必填  # 最多  # 背景色  # 默认值  # 每一项  # 样式表  # 放在  # 多个  # 我们可以  # 希望能  # 得多  # 分别为  # 可以使用  # 可选  # 为例  # 谢谢大家  # 本页面  # 创建一个 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  怎样使用JSON进行数据交换_它有什么限制  高端网站建设与定制开发一站式解决方案 中企动力  JavaScript如何实现继承_有哪些常用方法  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  如何在阿里云虚拟服务器快速搭建网站?  网站建设保证美观性,需要考虑的几点问题!  Laravel如何优化应用性能?(缓存和优化命令)  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  如何在腾讯云服务器上快速搭建个人网站?  网站制作报价单模板图片,小松挖机官方网站报价?  googleplay官方入口在哪里_Google Play官方商店快速入口指南  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  黑客如何通过漏洞一步步攻陷网站服务器?  魔方云NAT建站如何实现端口转发?  Laravel Docker环境搭建教程_Laravel Sail使用指南  WordPress 子目录安装中正确处理脚本路径的完整指南  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  如何在云主机上快速搭建多站点网站?  Laravel如何使用withoutEvents方法临时禁用模型事件  java获取注册ip实例  如何用狗爹虚拟主机快速搭建网站?  Laravel如何自定义分页视图?(Pagination示例)  如何在服务器上配置二级域名建站?  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  如何实现javascript表单验证_正则表达式有哪些实用技巧  历史网站制作软件,华为如何找回被删除的网站?  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  Linux安全能力提升路径_长期防护思维说明【指导】  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  浅谈javascript alert和confirm的美化  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  JavaScript实现Fly Bird小游戏  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  JavaScript中的标签模板是什么_它如何扩展字符串功能  怎么用AI帮你为初创公司进行市场定位分析?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  Android okhttputils现在进度显示实例代码  Laravel怎么上传文件_Laravel图片上传及存储配置  香港服务器网站卡顿?如何解决网络延迟与负载问题?  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  HTML 中动态设置元素 name 属性的正确语法详解