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

发布时间 - 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如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  如何快速搭建安全的FTP站点?  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  如何快速生成凡客建站的专业级图册?  Laravel怎么使用Intervention Image库处理图片上传和缩放  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  zabbix利用python脚本发送报警邮件的方法  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  JavaScript中的标签模板是什么_它如何扩展字符串功能  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  如何获取免费开源的自助建站系统源码?  郑州企业网站制作公司,郑州招聘网站有哪些?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  ,怎么在广州志愿者网站注册?  敲碗10年!Mac系列传将迎来「触控与联网」双革新  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  Laravel如何使用Gate和Policy进行授权?(权限控制)  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  中山网站推广排名,中山信息港登录入口?  如何彻底卸载建站之星软件?  PythonWeb开发入门教程_Flask快速构建Web应用  中国移动官方网站首页入口 中国移动官网网页登录  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  如何用5美元大硬盘VPS安全高效搭建个人网站?  如何快速完成中国万网建站详细流程?  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  在Oracle关闭情况下如何修改spfile的参数  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  Laravel如何保护应用免受CSRF攻击?(原理和示例)  Laravel怎么使用artisan命令缓存配置和视图  Android 常见的图片加载框架详细介绍  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  phpredis提高消息队列的实时性方法(推荐)  实例解析Array和String方法  无锡营销型网站制作公司,无锡网选车牌流程?  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  济南网站建设制作公司,室内设计网站一般都有哪些功能?  Java类加载基本过程详细介绍  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】