微信小程序新手入门教程二:认识JSON配置文件

这篇具有很好参考价值的文章主要介绍了微信小程序新手入门教程二:认识JSON配置文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在上一篇我们介绍了微信小程序的注册和基本使用方式,并且写出了一个简单的页面,但是依然没有解释目录中的各种.json文件是做什么的。这篇我们就来认识一下各种JSON配置文件及其配置项。

小程序.josn,微信小程序,微信小程序,小程序

一 认识JSON

首先先来认识一下JSON是什么。

  • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
  • JSON 是轻量级的文本数据交换格式
  • JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
  • JSON 具有自我描述性,更易理解
  • 关于JSON的使用可以参考 JSON 教程 | 菜鸟教程 (runoob.com)

简单来说,JSON对象是一个无序的键值对的集合,名称与值直接使用“”进行分隔,成对出现,键值对之间使用“”进行分隔,以{}作为起始,允许嵌套和空格。

JSON中的value可以是数组、数字、字符串、布尔类型,也可以是另一个JSON对象,还可以为null。具体规定如下:

  1. 复合类型的值只能是数组或对象,不能是函数、正则表达式对象、日期对象

  2. 原始类型的值只有四种:字符串、数值(必须以十进制表示)、布尔值和null不能使用NaNInfinity-Infinityundefined

  3. 字符串必须使用双引号表示,不能使用单引号。

  4. 对象的键名必须放在双引号里面。

  5. 数组或对象最后一个成员的后面,不能加逗号。

 以下是常见的JSON对象举例

["abc", "def", "qwe"] 

{ "age": 18, "height": 189 }

{"names": ["张三", "李四"] }

[ { "name": "张三"}, {"name": "李四"} ]

二 JSON配置文件

认识了JSON是什么,再来看一下什么是JSON配置文件。顾名思义,JSON配置文件就是使用JSON书写的配置文件,对于配置文件而言,适合书写与可表达数据的复杂度通常不可兼得,数据表达能力越强,自组织能力越强,越不适合人类书写。通常用于做配置文件的这些,如conf、ini、toml、json、xml、yaml等,各有优劣,conf、ini就是更侧重适合书写性,yaml、xml则更侧重表达能力。而json就是比较折中的选择了,读写都很方便,最大的缺点就是不能添加注释

微信小程序框架中包括四种不同的json配置文件,分别是:

  1. 项目根目录中的 app.json 配置文件
  2. 项目根目录中的 project.config.json 配置文件
  3. 项目根目录中的 sitemap.json 配置文件
  4. 每个页面文件夹中的 .json 配置文件

 接下来我们一一进行介绍。

三 app.json 配置文件

app.json负责进行整个小程序的全局配置,包括了小程序的所有页面路径、窗口外观、界面表现、 tab区域等。demo 项目里边的 app.json 配置内容如下:

小程序.josn,微信小程序,微信小程序,小程序

 可以看到,该文件中包括了四个配置项,分别是:

  1. pages:用来记录当前小程序所有页面的路径
  2. window:全局定义小程序所有页面的背景色、文字颜色等
  3. style:全局定义小程序组件所使用的样式版本
  4. sitemapLocation:用来指明 sitemap.json 的位置

在上一篇微信小程序新手入门教程一:零基础上手-CSDN博客中,我们体验了在pages中直接添加路径的方式快速创建了新的页面,并实现了页面视图切换。pages就是记录所有页面路径的一个列表,每一项都对应一个页面的路径信息。需要注意的是,pages为string类型的数组,因此每一行内容都需要“”括起来,用“,”分隔,整体用[]表示数组。文件名也不需要写文件后缀,框架会自动去寻找对应位置的 .json.js.wxml.wxss 四个文件进行处理。entryPagePath属性则是指定小程序的默认启动路径(首页),如果未指定entryPagePath ,则由pages数组的第一项作为小程序的首页。

window配置项用于设置小程序的状态栏、导航条、标题、窗口背景色相关。下面列举几个较为常用的属性:

navigationBarBackgroundColor:设置导航栏背景颜色,需要用十六进制表示

navigationBarTextStyle:导航栏标题、状态栏颜色,仅支持white/black

navigationBarTitleText:可以设置导航栏标题文字内容

backgroundColor:设置窗口的背景色

backgroundColorTop/ backgroundColorBottom:设置顶部/底部窗口的背景色

其他用法可参照官方文档小程序配置 / 全局配置 (qq.com) 。

"window": {
    "navigationBarBackgroundColor":"#227700",
    "navigationBarTextStyle": "white",
    "navigationBarTitleText": "小程序",
    "backgroundColor": "#0000FF",
    "backgroundColorTop": "#00FFFF",
    "backgroundTextStyle":"dark"
  }

小程序.josn,微信小程序,微信小程序,小程序 此外,我们也可以通过tabBar来设置tab栏实现页面切换,通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。

示例代码展示如下:

 "tabBar": {
    "list": [
      {
        "pagePath": "pages/index/index",
        "text": "首页",
        "iconPath": "icon/home.png",
        "selectedIconPath": "icon/s_home.png"
      },
      {
        "pagePath": "pages/news/news",
        "text": "新闻",
        "iconPath": "icon/news.png",
        "selectedIconPath": "icon/s_news.png"
      },
      {
        "pagePath": "pages/add/add",
        "text": "发布",
        "iconPath": "icon/add.png",
        "selectedIconPath": "icon/s_add.png"
      },
      {
        "pagePath": "pages/message/message",
        "text": "消息",
        "iconPath": "icon/message.png",
        "selectedIconPath": "icon/s_message.png"
      },
      {
      "pagePath": "pages/my/my",
      "text": "我的",
      "iconPath": "icon/my.png",
      "selectedIconPath": "icon/s_my.png"
    }

  ],
  "color": "#ffffff",
  "backgroundColor": "#227700"
  },

其中list为中为tab栏页面的详细信息,至少有两项,可以通过text设置展示文字,iconPath设置图标样式,selectedIconPath设置选中时图标样式。

此外还可以通过color和selectedColor设置tab上文字及其被选中时的颜色,backgroundColor设置tab栏背景色,position设置tab栏所在位置,仅支持top和button(但是如果设置为top则不会显示图标,只能显示文字了)。

小程序.josn,微信小程序,微信小程序,小程序

上述代码效果如上。这里推荐iconfont-阿里巴巴矢量图标库查找下载图标,里面有许多不同种类的图标,还可以自定义颜色。

简单的学习这些就够用了,其他内容可以结合官方教程自行探索​​​​小程序配置 / 全局配置 (qq.com)
 

 四 project.config.json 文件

project.config.json 是项目配置文件,这个文件相对来说就简单多了,主要用于记录一些个性化配置。

小程序.josn,微信小程序,微信小程序,小程序

在setting中记录的是编译相关的配置, projectname为项目名称.......这里不多赘述。

五 sitemap.json 文件

小程序.josn,微信小程序,微信小程序,小程序

这个文件就更简单了,里面只有不到十行代码。简单看一下内容就可以知道它主要用来设置小程序是否允许微信索引。当开发者允许微信索引时,微信会通过爬虫为小程序的页面内容建立索引。当用户的搜索关键字和页面的索引匹配成功的时候,小程序的页面将可能展示在搜索结果中。sitemap 的索引提示是默认开启的,可以在 project.config.json 的 setting 中配置字段 checkSiteMap 为 false来关闭。

六 页面的 .json 配置文件

这些配置文件就是独属于每个页面的了,用法与app.json相同,可以帮助我们对不同页面进行个性化设置,如果在该页面和app.json中的相同配置项设置了不同的内容,则该页面中的配置项会覆盖app.json中的。

以上就是关于json配置文件的全部介绍了,下一篇我们进行语法和样式的学习~文章来源地址https://www.toymoban.com/news/detail-854589.html

到了这里,关于微信小程序新手入门教程二:认识JSON配置文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 新手入门Jenkins自动化部署入门详细教程

    在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试; 或者前后端分离后,经常会修改接口,然后重新部署; 这些情况都会涉及到频繁的打包部署; 手动打包常规步骤: 1.提

    2024年02月13日
    浏览(39)
  • StarkNet新手入门教程:教你用bitget 钱包入门

    理想的Starknet (web3.bitget.com/zh/assets/starknet-wallet) 钱包取决于个人喜好,同时考虑安全性、用户友好性、帐户恢复选项和多通证支持等因素。尽管如此,无论您使用 Starknet (STRK) 的目的是持有还是交易,Bitget Wallet 都是您管理 STRK 以及其他以太坊和 Optimism 加密资产的理想钱包选择

    2024年03月12日
    浏览(42)
  • 【Jmeter】压力测试新手入门教程

    压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。所以压力测试是一个非常重要的步骤,下面我带大家来使用一款压力测试工

    2024年04月15日
    浏览(37)
  • Git 新手快速入门教程

    1. 何为版本控制 版本控制是一种记录文件变化的系统,可以跟踪文件的修改历史,并允许用户在不同版本之间进行比较、恢复或合并。它主要用于软件开发过程中管理代码的变更,但也可以应用于任何需要跟踪文件变更的场景。 版本控制系统(VCS)可以帮助团队协作开发,

    2024年04月26日
    浏览(46)
  • 电脑黑客技术新手入门,自学黑客技术入门教程

    最近经常有小伙伴联系我说要学黑客技术,当然目的各种各样,有的就是觉得黑客很酷,单纯想要学技术,还有的就是想找人帮忙攻击赌博网站或者监听别人的电话(以女朋友的电话居多),对于想要单纯学技术的朋友我很欢迎他们问我问题,但对于那些想做违法事情的人我

    2024年02月10日
    浏览(35)
  • Midjourney入门教程,新手必看!

    1.1 Midjourney是什么? Midjourney是一款非常受欢迎的AI绘图工具,可根据用户输入的内容生成高质量图像,该工具于2022年3月首次亮相,虽然Midjourney在发展过程中遇到了技术、金钱等诸多压力,但最终给广大AI绘画爱好者带来极致的体验。 1.2 Midjourney有何优势? ●智能化绘图 Mi

    2024年01月18日
    浏览(44)
  • 你好,uv变换(新手入门向聊天教程)

    温馨提示:本文只是一篇入门聊天,不涉及代码教程,看不懂代码就跳过,没关系! 1、uv其实就是一个二维坐标系啊,就俩轴,就跟xy轴一样。 那为什么不叫xy,反而叫uv呢? 不知道,应该是为了跟空间坐标系xyz区别开来,以免在工作流程中产生误解吧吧吧。 2、uv坐标用于采

    2024年02月12日
    浏览(30)
  • MUI框架从新手入门【webapp开发教程】

    性能和体验的差距,一直是mobile app开发者放弃HTML5的首要原因。 浏览器天生的切页白屏、不忍直视的转页动画、浮动元素的抖动、无法流畅下拉刷新等问题,这些都让HTML5开发者倍感挫败,尤其拿到Android低端机运行,摔手机的心都有; 另一方面,浏览器默认控件样式又少又

    2024年02月04日
    浏览(33)
  • Python 安装教程,新手入门(超详细)含Pycharm开发环境安装教程

    目录 一、Python介绍 二、Python安装教程 (一)Python的下载 (二)Python的安装 三、Pycharm开发工具的安装 (一)Pycharm介绍 (二)Pycharm的下载 (三)Pycharm的安装 ​        Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替

    2024年01月20日
    浏览(70)
  • 注册Github账号详细教程【超详细篇--适合新手入门】

    目录 一、GitHub的简介 二、如何注册自己的GitHub账户 1、进入github的官网 2、点击右上角注册按钮sign up,来到注册页面  4、点击Continue,继续在光标处创建密码,继续创建用户名

    2024年02月10日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包