微信小程序的配置文件使用说明:

news2025/1/17 17:59:28

在上一文中学习开发小程序的起航日记,我们准备好了开发小程序时所需的环境和准备工作,同时也简单的了解了一下小程序的项目结构组成。
这一章,我们主要对小程序的配置文件进行学习。

文章目录

  • 小程序_配置文件
    • 1.json
    • 2.app.json
      • pages 属性
      • window 属性
      • tabBar 属性
    • 3.页面.json
    • 4.project.config.json AND project.private.config.json
    • 5.sitemap.json

小程序_配置文件

1.json

JSON 是一种轻量级的数据格式,常用于前端、后端数据的交互。但在小程序中,JSON起到的是配置项的作用,用于配置项目或者页面属性的行为,每个页面或组件也都有一个对应的 json 文件。


2.app.json

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

pages 属性

还记得在一章节中,我们是怎么创界新界面的吗?

就是在 app.json:“pages” 属性中添加代码之后,新的页面文件会随之在相应路径下生成。

在这里插入图片描述

是的!pages 属性就是用于存放页面路由的,

但在配置时有以下需要注意:

  1. 页面路由不需要写文件后缀,框架会自动去寻找对应位置的四个文件进行处理
  2. 在小程序中新增、删除页面,都需要对 pages 数组进行修改
  3. 如果未指定 entryPagePath 时,数组的第一项路径则代表小程序的初始界面

如:

{
  "entryPagePath": "pages/index/index",
  "pages": [
    "pages/index/index",
    "pages/t_one/t_one"
  ],
  "window": {
    "navigationBarTextStyle": "black",
    "navigationStyle": "custom"
  },
  "style": "v2",
  "sitemapLocation": "sitemap.json",
  "lazyCodeLoading": "requiredComponents"
}

这段代码就是由于页面过多直接通过entryPathPath属性设置小程序的首页界面,
不设置该属性的情况下,默认界面为 pages 属性中的第一行。

window 属性

该属性用于设置小程序的状态栏、导航条、窗口等。更多内容可查阅官方文档

小程序的官方文档链接

下述代码,我对界面进行了简单的设置:

  "window": {
  	  // 导航栏标题设置
      "navigationBarTitleText": "your_w 助理",
      // 导航栏背景色设置
      "navigationBarBackgroundColor": "#f3514f",
      // 添加刷新功能
      "enablePullDownRefresh": true,
      // 刷新时下拉框的背景色
      "backgroundColor": "#efefef",
      // 刷新时背景色亮度设置
      "backgroundTextStyle":"light"
  },

tabBar 属性

作用于小程序顶部、底部 tab 栏,用以实现页面之间的快速切换,可通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。

我们先对 tabBar 有个基础概念的认识,然后通过其给人印象最深的一面开始入手。

就是实现快速页面切换,我根据自己理想中的小程序实现样子创建 4 个界面。

在这里插入图片描述

准备好了 tabBar 属性需要绑定的素材,我们先来绑定第一个界面:

//tabBar 属性和 pages、window 同级,且他是一个对象
"tabBar": {
	//在tabBar对象中设置 list数组
      "list": [
      	//数组中的每项都是一个对象,我们最少要配置两个这样的对象
      	//而我理想中的界面有四个,这里为了看代码方便就放了一个并注释,下面我会补上我设置的四个
          {
          	  //设置界面标题
              "text": "首页",
              //设置界面路径
              "pagePath": "pages/index/index",
              //设置界面图标素材路径
              "iconPath": "/assets/tabbar/index.png",
              //设置图标被点击时的响应素材路径
              "selectedIconPath": "/assets/tabbar/index.png"
          }
      ]
  },

通过上述代码,我们清楚了 tarBar,而我理想中的小程序有4个界面,所以我还要配置三个,而且 tabBar最少要配置2两个,不然会出现报错信息。

"tabBar": {
      "list": [
          {
              "text": "首页",
              "pagePath": "pages/index/index",
              "iconPath": "/assets/tabbar/index.png",
              "selectedIconPath": "/assets/tabbar/index.png"
          },
          {
              "text": "计划",
              "pagePath": "pages/sked/sked",
              "iconPath": "/assets/tabbar/sked.png",
              "selectedIconPath": "/assets/tabbar/sked.png"
          },
          {
              "text": "记账",
              "pagePath": "pages/tally/tally",
              "iconPath": "/assets/tabbar/tally.png",
              "selectedIconPath": "/assets/tabbar/tally.png"
          },
          {
              "text":"个人",
              "pagePath": "pages/profile/profile",
              "iconPath": "/assets/tabbar/profile.png",
              "selectedIconPath": "/assets/tabbar/profile.png"
          }

      ]
  },

上个代码块已经注释好了每个配置项的说明,这里不加注释了。

配置完的界面效果图:
在这里插入图片描述

哦!对了,我的四个图是我用windows自带的画板画完截下来的,因为在网上没有找到合适的用图。如果你需要,也可以像我这样。

最后,我微调了一下tabbar的颜色设置,为了简单明了一下,我只展示我设置的内容,如果你有更多的需要,可以通过上述分享的文档链接去查阅官方文档定义的 tabbar 属性的更多内容。

"tabBar": {
      "selectedColor": "#6666cc",
      "color": "#666",
      
      "list": [
          {
              "text": "首页",
              "pagePath": "pages/index/index",
              "iconPath": "/assets/tabbar/index.png",
              "selectedIconPath": "/assets/tabbar/index.png"
          }
      ]
  },

3.页面.json

小程序页面配置文件,也称局部配置文件,用于配置当前页面的窗口模式、页面标题等。

下面通过 .json 局部配置文件,设置一下我的第二个界面。

在这里插入图片描述

{
    "usingComponents": {},
    "navigationBarTitleText": "个人计划",
    "navigationBarBackgroundColor": "#00AF92",
    "enablePullDownRefresh": true,
    "backgroundTextStyle":"light"
}

4.project.config.json AND project.private.config.json

小程序项目的配置文件,用于保存项目的一些配置信息和开发者的个人信息。

创建项目后,每个项目根目录都会生成两个 config.json 文件,用于保存开发者在工具上做的个性化配置。

我们来看一下项目中的这两个文件:
在这里插入图片描述

project.confic.json:项目配置文件,常用来进行配置公共的配置

project.private.config.json:项目私有的配置,常用来配置个人的配置

就目前来说,我们不需要对两个文件有太多改动,暂时先用项目配置的默认值即可。但你要知晓:
如果需要对项目配置做出改动,且最终影响整个项目,你就针对 project.confic.json 文件去做改动,因为该文件会影响项目全局配置的最终结果。
而如果你只想改动一些局部设置,而不是整个项目的配置随之变动,就改动project.private.config.json文件即可。
真是如上两个加粗字体所释了。

这里,我们再在小程序项目里集成一个 sass语言。

在全局配置文件的 setting属性 下添加:

"useCompilerPlugins": [
            "sass"
        ],

如果你加上这个会报错,说明你的 微信开发者 中没有加入Easy sass 插件。

你需要下载 vscode,因为插件是从这个软件中下在到的。
在这里插入图片描述
下在好之后,更该一下插件的文件:
在这里插入图片描述
在这里插入图片描述

然后,提示的报错消失了。说明你可以正常导入了。

然后随便找一个页面测试一下:
在这里插入图片描述

这就一行代码。直接上图了。

5.sitemap.json

配置小程序及其页面是否允许被微信索引,提高小程序在搜索引擎搜索到的概率。
在这里插入图片描述

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

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

相关文章

C++:类和对象(上篇)

目录: 一:面向对象和过程的介绍 二:类的引入 三:类的定义 四:类的访问限定符以及封装 五:类的作用域 六:类的实例化 七:类对象大小的计算 八:类成员函数的this指…

DolphinScheduler运维-页面加载缓慢

一、问题描述 DolphinScheduler调度平台的UI界面加载缓慢,项目中的任务实例加载时间过长,需要解决这个问题,提高DolphinScheduler平台UI页面的加载速度。 二、原因分析 经过分析发现,任务实例过多是导致UI加载缓慢的主要原因。由于任务实例无法直接删除,根据文档了解到需…

基于docker+rancher部署Vue项目的教程

基于dockerrancher部署Vue的教程 前段时间总有前端开发问我Vue如何通过docker生成镜像,并用rancher上进行部署?今天抽了2个小时研究了一下,给大家记录一下这个过程。该部署教程适用于Vue、Vue2、Vue3等版本。 PS:该教程基于有一定…

UART动态调整接收时钟

文章目录 一、UART接收模块误码率二、接收时钟动态纠正方法2.1、过采样2.2、上板效果 一、UART接收模块误码率 由于发送端和接收端存在一定的频率误差,随着时间的推移,累计误差不断增加,从而产生亚稳态现象,会导致误码&#xff0…

【Vue3】组件通信以及各种方式的对比

方式一&#xff1a;props 「父」向「子」组件发送数据 父组件&#xff1a; 定义需要传递给子组件的数据&#xff0c;并使用 v-bind 指令将其绑定到子组件的 props 上。 <template><child-component :message"parentMessage" /> </template><sc…

3.19网络编程

select实现的TCP并发服务器 #include <myhead.h> #define SER_IP "192.168.141.134" #define SER_PORT 8888 int main(int argc, const char *argv[]) {// 1、创建一个套接字int sfd -1;sfd socket(AF_INET, SOCK_STREAM, 0);if (sfd -1){perr…

【leetcode热题】 地下城游戏

恶魔们抓住了公主并将她关在了地下城 dungeon 的 右下角 。地下城是由 m x n 个房间组成的二维网格。我们英勇的骑士最初被安置在 左上角 的房间里&#xff0c;他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0…

TSINGSEE青犀数字化、智能化视频技术推动森林防火智慧监管

一、背景分析 中央网络安全和信息化委员会印发《“十四五”国家信息化规划》&#xff0c;明确指出“提升林草生态网络感知能力&#xff0c;完善生态系统保护成效数字化监测评估体系”。这为数字化系统建设引领了方向&#xff0c;中国林业信息化建设迈入了新的阶段&#xff0c;全…

六、C#快速排序算法

简介 快速排序是一种常用的排序算法&#xff0c;它基于分治的思想&#xff0c;通过将一个无序的序列分割成两个子序列&#xff0c;并递归地对子序列进行排序&#xff0c;最终完成整个序列的排序。 其基本思路如下&#xff1a; 选择数组中的一个元素作为基准&#xff08;pivot…

绝地求生:现在购买通行证还能兑换成长型武器吗?

大家好&#xff0c;我闲游盒&#xff0c;这几天收到几位盒友的私信咨询我现在购买通行证还能获得一把成长型武器吗&#xff1f;我相信还有许多盒友也有此困惑&#xff0c;那我就在这统一回复了&#xff0c;目前距通行证和商城物资箱礼包下架还有最后16天时间&#xff0c;众所周…

fs方法举例

fs.readFile() 读取文件 const fs require(node:fs) const path require(node:path) const s path.resolve(__dirname, ./hello.txt) const buf fs.readFileSync(s) console.log(buf.toString())输出的Buffer对象 用toString()方法转字符串之后 fs.appendFile() 创建新…

Vue项目使用process.env关键字及Vue.config.js配置解决前端跨域问题

1.process.env 是Node.js 中的一个环境 1.打开命令行查看环境: 2.process.env与Vue CLI 项目 Vue Cli 有以下三种运行模式 development 模式用于 vue-cli-service serve test 模式用于 vue-cli-service test:unit production 模式用于 vue-cli-service build 和 vue-cli-se…

Java设计模式 | 简单工厂模式

概述 需求 设计一个咖啡店点餐系统设计一个咖啡类&#xff08;Coffee&#xff09;&#xff1b;并定义其两个子类&#xff08;美式咖啡AmericanCoffee和拿铁咖啡LatteCoffee&#xff09;&#xff1b;再设计一个咖啡店类&#xff08;CoffeeStore&#xff09;&#xff0c;其具备…

【开源】SpringBoot框架开发不良邮件过滤系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统用户模块2.2 收件箱模块2.3 发件箱模块2.4 垃圾箱模块2.5 回收站模块2.6 邮箱过滤设置模块 三、实体类设计3.1 系统用户3.2 邮件3.3 其他实体 四、系统展示五、核心代码5.1 查询收件箱档案5.2 查询回收站档案5.3 新…

玩转C语言——深入理解指针

一、指针概念 1.1 内存和地址 在开始学习指针前&#xff0c;我们先来讲一个例子&#xff0c;假如你身处一栋楼中&#xff0c;你点了一份外卖&#xff0c;那么&#xff0c;外卖员如何能找到你&#xff1f;有两种方法。法一&#xff1a;直接一间一间找&#xff0c;这样做不仅消耗…

数据结构(三)复杂度的深层次剖析

之前发布了数据结构&#xff08;一&#xff09;&#xff0c;很多同学反响不够清晰&#xff0c;那今天就发一篇对复杂度专题的博客&#xff0c;希望对大家理解复杂度提供一些帮助。 时间复杂度 我们先来一个理解一个复杂度&#xff0c;二分查找的复杂度&#xff08;之前写过二…

JSONP 实现跨域请求案例

后端使用 express 搭建&#xff0c;案例代码如下&#xff1a; const express require(express)const app express() const PORT 3000app.get(/data, (req, res) > {const jsonData {name: Alan,age: 666,city: GD}const callback req.query.callback // 获取前端中的回…

野火ESP8266模块开发-基于Arduino IDE

一、野火ESP8266模块介绍 ESP8266 拥有高性能无线 SOC&#xff0c;给移动平台设计师带来福音&#xff0c;它以最低成本提供最大实用性&#xff0c;为 WiFi 功能嵌入其他系统提供无限可能。ESP8266 是一个完整且自成体系的 WiFi 网络解决方案&#xff0c;能够独立运行&#xff0…

网络工程师之路由交换技术篇

网络工程师之路由交换技术篇 路由交换之技术篇ARPICMPBPDUIPv6IP编址MAC其他技术点参考 以下均为个人笔记&#xff0c;摘录到csdn做备份 路由交换之技术篇 ARP Operation Code指定了ARP报文的类型&#xff0c; 包括ARP request 和ARP reply&#xff1b;取值为1或者2 &#x…

计算机毕业设计-基于深度学习的验证码识别方法设计与实现

概要 验证码是一个系统区分人类与非人类行为的有效方式。验证码识别技术能够使计算机程序输入正确的验证码&#xff0c;伪装成人类用户进入目标系统。另一方面&#xff0c;系统方面需要考虑破解验证码识别技术&#xff0c;修补验证方式的可能漏洞&#xff0c;使之能够更有效地区…