微信小程序 配置文件详细介绍
发布时间 - 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单文件与每日日志配置及自定义通道【详解】

