当前位置: 首页 > article >正文

微信小程序框架详解

小程序包含一个描述整体程序的app实例和多个描述页面的page。其中app由三个文件构成:公共配置app.json、公共样式app.wxss、主体逻辑app.js。每个page最多由四个文件构成:页面配置page.json、页面结构page.wxml、页面样式page.wxss、页面主体逻辑page.js。微信小程序的主体部分由3个文件组成,且必须放在项目的主目录中,名称也是固定的文件名和作用如下:app.js:主逻辑文件,用于监听并处理小程序的生命周期函数、声明全局变量、调用框架提供的丰富的API等。app.json:主配置文件,对整个小程序的全局配置,配置小程序是由哪些页面组成,配置小程序的窗口背景色等。注意 app.json不可添加任何注释。app.wxss:主样式表文件,主样式表文件中设置的样式,在其他页面文件中也可以共享。小程序页面是由同路径下同名但不同后缀的2~4个文件组成:.js后缀的文件是脚本文件。.json后缀的文件是配置文件。.wxss后缀的是样式表文件。.wxml后缀的文件是页面结构文件。其中.js与.wxml文件是必需的。小程序配置全局配置小程序根目录下的app.json文件用来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。{ "pages": [ "pages/index/index", "pages/logs/index" ], "window": { "navigationBarTitleText": "Demo" }, "tabBar": { "list": [{ "pagePath": "pages/index/index", "text": "首页" }, { "pagePath": "pages/logs/index", "text": "日志" }] }, "networkTimeout": { "request": 10000, "downloadFile": 10000 }, "debug": true, "window": { "navigationBarTextStyle": "black", "navigationStyle": "custom" }, }主要配置如下:1.配置页面路径(pages)这是一个数组属性。在微信小程序中要使用到的页面都必须在app.json中进行配置,将其添加到pages数组中。在pages数组中的每一项都是一个字符串,用来指定小程序由哪些页面组成。每一项代表对应页面的[路径+文件名]信息,文件名不需要写后缀,因为框架会自动寻找路径.json,.js,.wxml,.wxss的4个文件进行编译组合。位于pages数组中的第一项表示小程序的初始页面,即启动小程序时将运行显示的页面。小程序中新增/减少页面,都需要对pages数组进行修改。如果没有将页面的路径添加到pages数组中,即使小程序中的代码导航到该页面,仍然不能打开该页面,并且控制台不会显示任何提示信息,因此,在调试时如果打不开页面,首先应检查是否将页面添加到pages数组属性中。2.配置窗口状态(window)这是一个JSON对象属性,包含以下属性,可用来设置窗口的名称、导航栏等。backgroundColor,用来设置窗口的背景色,与HTML中的颜色设置相同,使用十六进制的RGB方式设置颜色。这个属性的默认值为#fffff(即白色)。backgroundTextStyle,用来设置下拉背景字体、loading 图的样式,目前只支持设置为“dark”或“light”这两个值,默认值为“dark”enablePullDownRefresh,用来设置是否开启下拉刷新,默认值为false。navigationBarBackgroundColor,用来设置导航栏背景颜色,默认值为"#000000",即黑色。navigationBarTextStyle,设置导航栏标题颜色,目前只支持"black"和"white”这两个值,默认值为“white”。navigationBarTitleText,设置导航栏标题文字内容。3.配置底部tab栏(tabBar)微信小程序只能配置最少 2 个、最多 5 个 tab。tab 按数组的顺序排序,每个项都是一个对象color:设置tab 上的文字默认颜色,仅支持十六进制颜色 selectedColor:设置 tab 上的文字选中时的颜色,仅支持十六进制颜色 backgroundColor:设置 tab 的背景色,仅支持十六进制颜色 borderStyle:设置 tabbar 上边框的颜色, 仅支持 black / white list:设置tab 的列表,最少 2 个、最多 5 个 tab对于list这个数组属性,其中每一项又是一个对象,又可以设置4个属性值:text:设置tab上显示的文字,如果为tab设置了图标,则文字位于图标下方。如果未设置图标,则只显示文字。iconPath:设置tab处于未激活状态时显示的图片路径,icon图片大小限制为40KB.selectedIconPath:设置tab处于激活状态时的图片路径,同样,icon图片大小限制为40KB。pagePath:设置触按该tab时跳转的页面路径,这里设置的页面路径必须在pages中进行了配置。4.其他配置在微信小程序中有多种网络连接API,例如request连接、socket 网络连接、上传文件、下载文件等网络操作的 API。在主配置文件app.json 中可通过参数networkTimeout设置各种网络请求的超时时间。这是一个JSON对象属性,可通过以下各属性进行相关超时设置。connectSocket,设置wx.connectSocket接口网络请求的超时时间。downloadFile,设置wx.downloadFile 下载文件接口的超时时间。uploadFile,设置wx.uploadFile上传文件接口的超时时间。request,设置wx.request 网络请求接口的超时时间。以上的超时时间设置的单位都是毫秒。另外,在全局配置文件app.json中还有一个名为debug的属性,可以在开发者工具中开启debug模式,在开发者工具的控制台面板,调试信息以info的形式给出,其信息有Page 的注册、页面路由、数据更新和事件触发,可以帮助开发者快速定位一些常见的问题。页面配置每一个小程序页面也可以使用同名.json文件来对本页面的窗口表现进行配置,页面中配置项会覆盖app.json的window中相同的配置项。{ "navigationBarBackgroundColor": "#ffffff", "navigationBarTextStyle": "black", "navigationBarTitleText": "微信接口功能演示", "backgroundColor": "#eeeeee", "backgroundTextStyle": "light" }属性类型默认值描述最低版本navigationBarBackgroundColorHexColor#000000导航栏背景颜色,如#000000navigationBarTextStylestringwhite导航栏标题、状态栏颜色,仅支持black/whitenavigationBarTitleTextstring导航栏标题文字内容navigationStylestringdefault导航栏样式,仅支持以下值:default默认样式custom自定义导航栏,只保留右上角胶囊按钮。iOS/Android 微信客户端 7.0.0,Windows/Mac 端基础库 = v3.6.1homeButtonbooleanfalse在非首页、非页面栈最底层页面或非tabbar内页面中的导航栏展示home键微信客户端 8.0.24backgroundColorHexColor#ffffff窗口的背景色backgroundColorContentHexColor#RRGGBBAA页面容器背景色,backgroundTextStylestringdark下拉 loading 的样式,仅支持dark/lightbackgroundColorTopstring#ffffff顶部窗口的背景色,仅 iOS 支持微信客户端 6.5.16backgroundColorBottomstring#ffffff底部窗口的背景色,仅 iOS 支持微信客户端 6.5.16enablePullDownRefreshbooleanfalse是否开启当前页面下拉刷新。

相关文章:

微信小程序框架详解

小程序包含一个描述整体程序的app实例和多个描述页面的page。其中app由三个文件构成:公共配置app.json、公共样式app.wxss、主体逻辑app.js。每个page最多由四个文件构成:页面配置page.json、页面结构page.wxml、页面样式page.wxss、页面主体逻辑page.js。 微信小程序的主体部…...

GTE文本向量模型实战教程:前端Vue组件封装/predict接口调用与loading状态

GTE文本向量模型实战教程:前端Vue组件封装/predict接口调用与loading状态 1. 引言 如果你正在开发一个需要理解中文文本的Web应用,比如自动提取新闻中的关键人物和事件,或者分析用户评论的情感倾向,那么文本向量模型就是你需要的…...

【车辆】插电式混合动力汽车(PHEV)动力系统进行建模与设计MATLAB 代码,含发动机、电机、电池组等组件

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。👇 关注我领取海量matlab电子书和数学建模资料🍊个人信条:格物致知,完整Matl…...

【无线通信】多载波无线通信系统设计Matlab仿真

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 👇 关注我领取海量matlab电子书和数学建模资料 🍊个人信条:格物致知,完整…...

设备独立滚动控制:让macOS输入设备各得其所的开源解决方案

设备独立滚动控制:让macOS输入设备各得其所的开源解决方案 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser 问题溯源:当滚动方向成为效率隐形杀手 在数字…...

面试:描述下bean的生命周期

1.实例化bean: 反射的方式生成对象 2.填充bean的属性: populateBean(),循环依赖的问题(三级缓存) 3.调用aware接口相关的方法: InvokeAwareMethod(完成BeanName,BeanFactory&#xf…...

Web全栈开发学习路径规划:Phi-3-mini-gguf你的个性化导师

Web全栈开发学习路径规划:Phi-3-mini-gguf你的个性化导师 1. 为什么需要个性化学习路径 学习Web全栈开发就像建造一栋房子,不同的人需要不同的施工图纸。传统学习路径往往千篇一律,忽略了学习者的基础差异和目标差异。Phi-3-mini模型通过分…...

3步搞定PDF处理难题:Windows版Poppler让文档操作变得如此简单

3步搞定PDF处理难题:Windows版Poppler让文档操作变得如此简单 【免费下载链接】poppler-windows Download Poppler binaries packaged for Windows with dependencies 项目地址: https://gitcode.com/gh_mirrors/po/poppler-windows 您是否经常需要从PDF文件…...

圣邦微电子冲刺港股:年营收39亿,净利5.3亿 派息1亿 已获IPO备案

雷递网 雷建平 4月2日圣邦微电子(北京)股份有限公司(简称:“圣邦微电子”)日前更新招股书,准备在港交所上市。圣邦微电子已在A股上市,截至今日收盘,圣邦微电子股价为67.45元&#xf…...

老虎证券季报图解:营收1.76亿美元同比增41% 净利4566万美元

雷递网 雷建平 4月2日老虎证券(NASDAQ: TIGR)日前发布截至2025年12月31日的财报。财报显示,老虎证券2025年营收为6.12亿美元,较上年同期的3.92亿美元增长56.1%。其中,老虎证券2025年来自佣金收入为2.67亿美元&#xff…...

轻量级华硕笔记本控制神器G-Helper:彻底告别Armoury Crate的臃肿体验

轻量级华硕笔记本控制神器G-Helper:彻底告别Armoury Crate的臃肿体验 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, …...

数聚智连转战港交所:年营收16亿 净利4340万 蓝标与险峰是股东

雷递网 雷建平 4月2日北京数聚智连科技股份有限公司(简称:“数聚智连”)日前递交招股书,准备在港交所上市。数聚智连曾向深交所创业板递交招股书,计划募资8亿元,最终IPO被终止,此番是数聚智连转…...

WarcraftHelper终极指南:轻松解决《魔兽争霸III》宽屏适配与性能优化问题

WarcraftHelper终极指南:轻松解决《魔兽争霸III》宽屏适配与性能优化问题 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为《魔兽争霸…...

基于 MySQL+MHA+Keepalived 搭建高可用主从集群实战

一、方案背景与技术选型1.1 为什么需要 MySQL 高可用在生产环境中,数据库是业务系统的核心基石,一旦 MySQL 服务出现宕机、主库故障等问题,会直接导致业务中断、数据丢失,给企业带来不可估量的损失。因此,搭建一套高可…...

QQ音乐加密文件解码终极指南:三分钟快速上手qmcdump工具教程

QQ音乐加密文件解码终极指南:三分钟快速上手qmcdump工具教程 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump …...

2026出海企业培训10大常见痛点问题:预算、效果、选型关注点

随着“一带一路”倡议深化与全球化竞争加剧,中国企业出海步伐持续加速。截至2025年底,中国在境外设立企业超过5万家,遍布190个国家和地区。对外投资存量连续9年保持世界前三,2025年对外直接投资1743.8亿美元,比上年增长…...

暗黑破坏神2存档编辑器终极指南:3步掌握可视化修改技巧

暗黑破坏神2存档编辑器终极指南:3步掌握可视化修改技巧 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 还在为暗黑破坏神2存档修改而烦恼吗?传统的十六进制编辑不仅操作复杂,还容易导致存档损…...

2025届毕业生推荐的六大AI学术方案解析与推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 不能让文章有明显人工智能生成的迹象,得从好些方面着手。用词处,别用…...

ViTConvMAE-B(NeurIPS 2022)目标检测、实例分割模型环境配置ViTConvMAE-B(NeurIPS 2022)目标检测、实例分割模型数据集调整ViTConvMAE-B(Ne

ViTConvMAE-B(NeurIPS 2022)目标检测、实例分割模型环境配置 ViTConvMAE-B(NeurIPS 2022)目标检测、实例分割模型数据集调整 ViTConvMAE-B(NeurIPS 2022)目标检测、实例分割模型代跑训练 ViTConvMAE-B&…...

大模型工具调用乱斗:MCP协议凭什么火?实战踩坑与选型建议

大模型工具调用乱斗:MCP协议凭什么火?实战踩坑与选型建议 作者:戴维1号 来自:NEXUS Tech Curator(https://www.lsn.org.cn) 开场:被"大模型有脑子没手"折磨的第 N 天 你有没有这种感觉——大模型…...

2025届最火的六大AI辅助论文助手推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当下,学术研究愈发深入,AI论文工具成了科研人员和学生的得力帮手&…...

终极指南:如何用Applite免费实现Mac软件高效管理

终极指南:如何用Applite免费实现Mac软件高效管理 【免费下载链接】Applite User-friendly GUI macOS application for Homebrew Casks 项目地址: https://gitcode.com/gh_mirrors/ap/Applite 对于大多数Mac用户来说,软件管理一直是个令人头疼的问…...

三步快速配置:极简二维码插件让你的浏览器变身智能跨设备助手

三步快速配置:极简二维码插件让你的浏览器变身智能跨设备助手 【免费下载链接】chrome-qrcode chrome-qrcode - 一个 Chrome 浏览器插件,可以生成当前 URL 或选中文本的二维码,或解码网页上的二维码。 项目地址: https://gitcode.com/gh_mi…...

别再对着文档发愁了!手把手教你读懂并配置StrongSwan的ipsec.conf文件

从零到精通:StrongSwan的ipsec.conf实战配置指南 第一次打开ipsec.conf文件时,那些密密麻麻的参数确实让人望而生畏。作为一款功能强大的IPsec实现,StrongSwan的配置文件看似复杂,实则遵循着清晰的逻辑结构。本文将带你从实际应用…...

启动器故障排除指南:Java环境修复与第三方冲突解决

启动器故障排除指南:Java环境修复与第三方冲突解决 【免费下载链接】PCL Minecraft 启动器 Plain Craft Launcher(PCL)。 项目地址: https://gitcode.com/gh_mirrors/pc/PCL 当使用Minecraft启动器安装Forge时遇到"java.lang.NoC…...

突破Emby功能限制:emby-unlocked的技术实现与应用指南

突破Emby功能限制:emby-unlocked的技术实现与应用指南 【免费下载链接】emby-unlocked Emby with the premium Emby Premiere features unlocked. 项目地址: https://gitcode.com/gh_mirrors/em/emby-unlocked 在媒体服务器领域,Emby作为一款功能…...

深入解析Kubernetes中的探针(Probe):Liveness、Readiness与Startup探针实战指南

引言:为什么Kubernetes需要探针?在Kubernetes集群中,我们常常会遇到这样的场景:应用进程还在运行,但内部已陷入死锁,无法处理请求。容器启动了,但依赖的数据库尚未连接成功,此时不应…...

终极指南:如何将ComfyUI-Manager下载速度提升300%以上

终极指南:如何将ComfyUI-Manager下载速度提升300%以上 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various custo…...

OpenClaw浏览器自动化:千问3.5-9B实现智能爬虫

OpenClaw浏览器自动化:千问3.5-9B实现智能爬虫 1. 为什么需要智能爬虫? 去年我接手了一个市场调研项目,需要从200多个电商页面提取商品信息和用户评价。传统爬虫遇到三个致命问题:动态加载内容抓取不全、验证码频繁拦截、非结构…...

javaweb物流运输仓储仓库采购信息系统平台的设计与实现

目录同行可拿货,招校园代理 ,本人源头供货商功能模块划分技术实现要点扩展功能安全与权限项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作同行可拿货,招校园代理 ,本人源头供货商 功能模块划分 物流运输管理模块 运输订单管理…...