微信小程序配置文件

目录

小程序配置文件

1. 配置文件介绍

2. 全局配置

2.1 pages

2.2 window

2.3 tabBar

3. 页面配置

4. 项目配置文件

5. 支持使用 sass/less

6. sitemap.json


小程序配置文件

1. 配置文件介绍

JSON是一种轻量级的数据格式,常用于前后端数据的交互,但是在小程序中,JSON 扮演的静态配置的角色,用于配置当前页面或组件的属性和行为,每个页面或组件也都可以拥有一个对应的 json 文件。

小程序中常见的配置文件有以下几种:

  1. 全局配置文件:app.json ➡ 小程序全局配置文件,用于配置小程序的一些全局属性和页面路由。
  2. 局部配置文件:页面.json ➡ 小程序页面配置文件,用于配置当前页面的窗口样式、页面标题等
  3. 项目配置文件:project.config.json ➡ 小程序项目的配置文件,用于保存项目的一些配置信息和开发者的个人设置
  4. 搜索配置文件:sitemap.json ➡ 配置小程序及其页面是否允许被微信索引,提高小程序在搜索引擎搜索到的概率

下面我们依次来说明一下它们的用途。

2. 全局配置

小程序 app.json 文件是小程序的全局配置文件,用于配置小程序的一些全局属性和页面路由。

当小程序启动时,会自动读取 app.json 文件中的配置,根据配置生成对应的页面和组件、界面表现、网络超时时间、底部 tab,在小程序运行过程中起着关键的作用。

2.1 pages

pages 字段:用于指定小程序由哪些页面组成,用于为了让小程序知道由哪些页面组成以及页面定义在哪个目录,每一项都对应一个页面的 路径(含文件名) 信息。

{"pages": ["pages/index/index","pages/list/list"]
}

📌 注意事项:

  1. 文件名不需要写文件后缀框架会自动去寻找对应位置的 .json.js.wxml.wxss 四个文件进行处理
  2. 小程序中新增/减少页面,都需要对 pages 数组进行修改。
  3. 未指定 entryPagePath 时,数组的第一项代表小程序的初始页面(首页)

🔔 开发小技巧

​ 可以通过配置小程序的页面路径快速生成小程序的页面

详细文档: pages 配置项

2.2 window

window字段: 用于设置小程序的状态栏、导航条、标题、窗口背景色。

 

属性描述类型默认值
navigationBarBackgroundColor导航栏背景颜色HexColor#000000
navigationBarTextStyle导航栏标题颜色,仅支持 black / whitestringwhite
navigationBarTitleText导航栏标题文字内容string
backgroundColor下拉 loading 的样式,仅支持 dark / lightstringdark
enablePullDownRefresh是否开启全局的下拉刷新booleanfalse
onReachBottomDistance页面上拉触底事件触发时距页面底部距离单位为 pxnumber50

我们按照下图来配置 window

 

{"window": {"backgroundTextStyle": "light","backgroundColor": "#eee","navigationBarBackgroundColor": "#f3514f","navigationBarTitleText": "慕尚花坊","navigationBarTextStyle": "white","enablePullDownRefresh": true}
}

详细文档: window 配置项

2.3 tabBar

tabBar 字段:定义小程序顶部、底部 tab 栏,如果小程序是一个多 tab 应用,例如:可以在客户端窗口的底部或顶部通过 tab 栏可以切换页面,可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。

 

tabBar 配置项

属性描述类型默认值
colortab 上的文字默认颜色,仅支持十六进制颜色HexColor
selectedColortab 上的文字选中时的颜色,仅支持十六进制颜色HexColor
backgroundColortab 的背景色,仅支持十六进制颜色HexColor
borderStyletabbar 上边框的颜色, 仅支持 black / whitestringblack
listtab 的列表,详见 list 属性说明,最少 2 个、最多 5 个 tab
positiontabBar 的位置,仅支持 bottom / topstringbottom

List 配置项:list 是一个数组,只能配置最少 2 个、最多 5 个 tab,tab 按数组的顺序排序,每个项都是一个对象

属性描述类型是否必填
pagePath页面路径,必须在 pages 中先定义string
texttab 上按钮文字string
iconPath图片路径,icon 大小限制为 40kb,
建议尺寸为 81px * 81px,
string
selectedIconPath选中时的图片路径,icon 大小限制为 40kb,
建议尺寸为 81px * 81px,不支持网络图片。
string

📌 注意事项:

  1. list 是一个数组,只能配置最少 2 个、最多 5 个 tab
  2. 当 position 为 top 时,不显示 icon

我们按照下图来配置 tabBar

 
{"tabBar": {"color": "#252933","selectedColor": "#FF734C","backgroundColor": "#ffffff","borderStyle": "black","list": [{"text": "首页","iconPath": "/assets/tabbar/home.png","selectedIconPath": "/assets/tabbar/home-active.png","pagePath": "pages/home/home"},{"text": "列表","iconPath": "/assets/tabbar/list.png","selectedIconPath": "/assets/tabbar/list-active.png","pagePath": "pages/list/list"},{"text": "购物车","iconPath": "/assets/tabbar/cart.png","selectedIconPath": "/assets/tabbar/cart-active.png","pagePath": "pages/cart/cart"},{"text": "我的","iconPath": "/assets/tabbar/my.png","selectedIconPath": "/assets/tabbar/my-active.png","pagePath": "pages/my/my"}]}
}

详细文档: window 配置项

3. 页面配置

小程序的页面配置,也称局部配置,每一个小程序页面也可以使用自己的 .json 文件来对本页面的窗口表现进行配置

需要注意的是:页面配置文件的属性和 全局配置文件中的 window 属性几乎一致

只不过这里不需要额外指定 window 字段,因此如果出现相同的配置项,页面中配置项 会覆盖全局配置文件中相同的配置项。

属性描述类型默认值
navigationBarBackgroundColor导航栏背景颜色HexColor#000000
navigationBarTextStyle导航栏标题颜色,仅支持 black / whitestringwhite
navigationBarTitleText导航栏标题文字内容string
backgroundColor下拉 loading 的样式,仅支持 dark / lightstringdark
enablePullDownRefresh是否开启全局的下拉刷新booleanfalse
onReachBottomDistance页面上拉触底事件触发时距页面底部距离单位为 pxnumber50

📌 注意事项

​ 页面配置项和 app.json 中的 window 属性几乎一致,但这里不需要额外指定 window 字段

 

 
{"usingComponents": {},"navigationBarTitleText": "商品分类","navigationBarTextStyle": "white","navigationBarBackgroundColor": "#00AF92","enablePullDownRefresh": true,"backgroundColor": "#eee","backgroundTextStyle": "light"
}

4. 项目配置文件

通常大家在使用一个工具的时候,都会针对各自喜好做一些个性化配置,例如 编译配置等等,当你换了另外一台电脑重新安装工具的时候,你还要重新配置。

考虑到这点,小程序开发者工具在每个项目的根目录都会生成一个 project.config.json,你在工具上做的任何配置都会写入到这个文件,当你重新安装工具或者换电脑工作时,你只要载入同一个项目的代码包,开发者工具就自动会帮你恢复到当时你开发项目时的个性化配置,其中会包括编辑器的颜色、代码上传时自动压缩等等一系列选项

project.config.json 文件中配置公共的配置,

project.private.config.json 配置个人配置

project.private.config.json 文件同样可以对项目进行配置

project.private.config.json中的相同设置优先级高于project.config.json

📌 注意事项

  1. project.private.config.json 写到 .gitignore 避免版本管理的冲突。

  2. 与最终编译结果有关的设置 必须 设置到 project.config.json 中

可以在微信开发者工具,点击以下两个配置选项进行相关的设置,然后观察两个文件的变化即可。

 

 

项目配置文件的配置选项比较多,如有需要

大家可以参考详细的官方配置文档:项目配置文件

5. 支持使用 sass/less

小程序代码包要求代码文件为 wxml / wxss / js / json / wxs。

如果我们希望使用 sass 或 less 去开发小程序,就需要将 sass / less 文件编译成对应的 wxss 文件。

在 project.config.json 文件中,修改 setting 下的 useCompilerPlugins 字段为 ["sass"],即可开启工具内置的 sass 编译插件。 如需同时开启 typescript 编译插件,可将该字段修改为 ["typescript ", "sass"]。 目前支持三个编译插件:typescript、less、sass

{"setting": {
+    "useCompilerPlugins": [
+      "sass"
+    ]}
}

配置好以后,需要将 .wxss 改成 .scss

📌 注意:

我们在配置的时候,编译插件的名称是 sass,但是文件的后缀名是 .scss

这是因为 Sass 是 Css 预处理语言,scss 是 Sass 的一个语法版本

官方文档:开发辅助,支持以编译插件的形式,扩展编译功能

6. sitemap.json

微信现已开放小程序内搜索,当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索词条触发该索引时,小程序的页面将可能展示在搜索结果中。

可以通过 sitemap.json 配置,或者管理后台页面收录开关来配置其小程序页面是否允许微信索引。语法如下:

{"rules": [{"action": "allow","page": "*"}]
}

常用配置项:

属性属性说明属性值
action是否允许被搜索可选项有:allow 、disallow
page允许/不允许被搜索的页面页面路径或者通配符
// 所有页面都会被微信索引(默认情况)
{"rules": [{"action": "allow","page": "*"}]
}
// 配置 path/to/page 页面不被索引,其余页面允许被索引
{"rules":[{"action": "disallow","page": "path/to/page"}]
}

📌 注意事项

  1. 没有 sitemap.json 则默认所有页面都能被索引
  2. sitemap.json 文件中默认的设置,是优先级最低的默认规则,所有页面都会被微信索

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/694460.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LDRA Testbed软件静态分析_软件质量度量

系列文章目录 LDRA Testbed软件静态分析_操作指南 LDRA Testbed软件静态分析_自动提取静态分析数据生成文档 LDRA Testbed软件静态分析_Jenkins持续集成_(1)自动进行静态分析的环境搭建 LDRA Testbed软件静态分析_Jenkins持续集成_(2)配置邮件自动发送静态分析结果 LDRA Testb…

typescript映射类型

ts映射类型简介 TypeScript中的映射类型(Mapped Type)是一种高级类型,它允许我们基于现有类型创建新的类型,同时对新类型的每个属性应用一个转换函数。通过使用映射类型,我们可以方便地对对象的属性进行批量操作&…

typescript 索引签名类型

ts索引类型简介 在TypeScript中,索引签名类型(Index Signature Type)是一种特殊的类型,它定义了对象中键的类型以及相应的值的类型。通过使用索引签名类型,我们可以表示一个对象,该对象的键可以是任意类型…

python3 flask 实现对config.yaml文件的内容的增删改查,并重启服务

config.yaml配置文件内容 功能就是userpass下的用户名和密码做增删改查,并重启hy2服务 auth:type: userpassuserpass:csdn: csdnlisten: :443 masquerade:proxy:rewriteHost: trueurl: https://www.bing.com/type: proxy tls:cert: /root/hyst*****马赛克******er…

【算法2-1】前缀和、差分与离散化

一、【P3406】海底高铁(差分贪心)​​​​​​ 由于本题涉及到线路问题,需要统计Uim途径每条线路的次数,而且Uim每次的轨迹都是很长一段路径,所以需要使用一个合理的数据结构来维护区间的变化,首先想到线段…

正交匹配追踪算法(Orthogonal Matching Pursuit)实现过程及Python模拟

正交匹配追踪(Orthogonal Matching Pursuit,OMP)是一种用于寻找稀疏信号的贪婪算法,用于求解压缩感知问题中的稀疏近似问题。在压缩感知的背景下,通常我们有一个欠定的线性系统Ax y,其中A是一个已知的测量…

信奥一本通:2022:【例4.7】最小n值

这个题目的难点在于他让你输入1 2 3&#xff0c;不等的数&#xff0c;意思就是你不知道循环要执行几次&#xff0c;用户输入几次就是几次&#xff0c;那就只有这样写 while (cin >> num) #include <iostream> # include <iomanip> using namespace std;…

第三百五十九回

文章目录 1. 概念介绍2. 使用方法3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 013pickers2.gif 我们在上一章回中介绍了"如何实现Numberpicker"相关的内容&#xff0c;本章回中将介绍wheelChoose组件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念…

学习鸿蒙基础(4)

1.条件渲染 ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态&#xff0c;使用if、else和else if渲染对应状态下的UI内容。 当if、else if后跟随的状态判断中使用的状态变量值变化时&#xff0c;条件渲染语句会进行更新。。 Entry Component struct PageIfElse {Stat…

【C++杂货铺】模板

&#x1f308;前言&#x1f308; 欢迎观看本期【C杂货铺】&#xff0c;本期内容将讲解模板的初阶&#xff0c;即了解模板&#xff0c;熟练掌握模板的使用方法&#xff0c;了解模板的工作原理等内容。 &#x1f4c1; 函数模板 &#x1f4c2; 概念 函数模板代表了一个函数家族&am…

如何在Windows系统中检测和结束运行中的程序(任务管理器显示运行程序可能有bug)

如何在Windows系统中检测和结束运行中的程序 在Windows系统的日常使用和管理过程中&#xff0c;我们经常需要检测某个程序是否正在运行&#xff0c;并在必要时结束它。本文将详细介绍如何在Windows系统中检测运行中的程序&#xff0c;并提供多种方法来结束这些程序。 检测运行…

通俗易懂的双亲委派机制

当你超过别人一点点&#xff0c;别人会嫉妒你&#xff1b;当你超过别人一大截&#xff0c;别人就会羡慕你 据说给我点关注的都成了大佬&#xff0c;点关注的我都会私发一份好东西 ​​​​你得先知道 在介绍双亲委派机制的时候&#xff0c;不得不提ClassLoader&#xff08;类…

Java字符串转整数的超简单方法!

推荐阅读 智能化校园&#xff1a;深入探讨云端管理系统设计与实现&#xff08;一&#xff09; 智能化校园&#xff1a;深入探讨云端管理系统设计与实现&#xff08;二&#xff09; 问题描述 当你把一个字符串值和一个整数加在一起而不进行任何形式的转换时会发生什么呢&#…

聚合支付,聚合系统,聚合程序或将成为主流

支付市场的变化对用户、代理商和运营商产生了重大影响。 随着政策监管的日益严格&#xff0c;支付行业逐渐朝着标准化和合理化的方向发展&#xff0c;日益增强其安全性。在这个背景下&#xff0c;聚合平台已经成为未来支付行业发展的重要趋势。特别是在“一机一码”政策实施后&…

前端进度条组件NProgress

nprogress 安装 npm install --save nprogress使用 import NProgress from nprogress // 引入nprogress插件 import nprogress/nprogress.css // 这个nprogress样式必须引入// axios请求拦截器 axios.interceptors.request.use(config > {NProgress.start() // 设置加载进…

【学习心得】编程小白该如何学好C语言(✨新手推荐阅读)

前言 对于刚刚踏入编程领域的小白来说&#xff0c;C语言可能是一个既神秘又充满挑战的领域。但只要你掌握了正确的学习方法&#xff0c;C语言的学习之旅也可以是充满乐趣和成就感的。 一、明确学习目标 对于初学者来说&#xff0c;明确学习目标是学好C语言的第一步。一个清晰…

BIG DATA —— 大数据时代

大数据时代 [英] 维克托 迈尔 — 舍恩伯格 肯尼斯 库克耶 ◎ 著 盛杨燕 周涛◎译 《大数据时代》是国外大数据研究的先河之作&#xff0c;本书作者维克托迈尔舍恩伯格被誉为“大数据商业应用第一人”&#xff0c;他在书中前瞻性地指出&#xff0c;大数据带来的信息…

扩散模型+轨迹预测

目录 1. 基础知识2. 轨迹预测相关2.1 Leapfrog Diffusion Model2.2 MID2.3 中科院2.4 DICE2.5 MotionDiffuser2.6 DiffTraj 3. 练手时可参考4. 扩展&#xff1a;扩散模型RL 1. 基础知识 Stable diffusion扩散模型相关 Diffusion相关二 Diffusers是hugging face发起的用于专门…

Vue3引用第三方模块报错Could not find a declaration file for module ***.

在引用第三方的组件时候报错如下 原因是&#xff1a;该组件可能不是.ts文件而是.js文件 解决方案&#xff1a; 1.在Src的目录下面新建一个文件为shims-vue.d.ts的文件 2.文件内容为 declare module xxx&#xff0c;xxx就是你报错的模块 例如我这样 declare module vue3-pu…

单片机03--按键--寄存器版

GPIO端口相关寄存器&#xff08;STM32F40x芯片&#xff09; 目标&#xff1a; 开关KEY1控制开灯。 分析&#xff1a; KEY1---PA0--->输入---->浮空输入/下拉输入 KEY1不导通时&#xff0c;PA0输入为低电平&#xff0c;KEY1导通时&#xff0c;PA0输入为高电平。 实现…