微信小程序学习笔记之目录结构、基本配置图文详解

关于“微信小程序学习笔记之目录结构、基本配置图文详解”的完整攻略,我将会分以下几个部分进行讲解:

  1. 目录结构的介绍
  2. app.json文件的配置
  3. 配置各个页面的json文件
  4. 示例说明
  5. 总结

1. 目录结构的介绍

微信小程序采用了类似于MVVM的框架来开发应用,应用主要由配置文件和代码文件两部分组成。其中配置文件主要包括:app.json文件、各个页面的json文件、以及全局的配置文件。代码文件主要包括了组件、页面、工具函数和样式文件。

微信小程序的目录结构如下:

app.js                                    // 小程序入口文件
app.json                                  // 小程序公共配置文件
app.wxss                                  // 小程序公共样式文件
project.config.json                       // 项目配置文件
pages/                                    // 主要存放小程序页面相关文件
    index/                                // index页面目录
        index.js                           // index页面逻辑文件
        index.wxml                         // index页面结构文件
        index.wxss                         // index页面样式文件
        index.json                         // index页面个性化配置文件
    logs/
        logs.js
        logs.wxml
        logs.json
    ...
utils/                                    // 工具函数目录
    util.js                                // 工具函数
components/                               // 组件目录
    componentA/
        componentA.js                      // 组件逻辑文件
        componentA.wxml                    // 组件结构文件
        componentA.wxss                    // 组件样式文件

2. app.json文件的配置

app.json是小程序的公共配置文件,用来配置小程序的全局性质。以下是一份默认的app.json配置示例:

{
  "pages": [                      // 必选项,声明小程序中所有页面路径
    "pages/index/index",
    "pages/logs/logs"
  ],
  "window": {                     // 必选项,小程序的全局配置,详见官方文档
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTextStyle": "black",
    "navigationBarTitleText": "微信小程序",
    "backgroundColor": "#fff",
    "backgroundTextStyle": "light"
  },
  "networkTimeout": {             // 可选项,超时时间
    "request": 10000,
    "downloadFile": 10000
  },
  "debug": true                   // 可选项,是否开启调试
}

其中,pages是必选项,用来声明小程序中的所有页面路径。每一个路径对应pages目录下的一个子目录。例如,"pages/index/index"表示index目录下的index页面。

3. 配置各个页面的json文件

每个页面的目录下都应该有一个json文件,用来对当前页面进行个性化配置。以下是一份示例:

{
  "navigationBarTitleText": "标题",                        // 导航栏标题文字内容
  "navigationBarBackgroundColor": "#ffffff",              // 导航栏背景颜色
  "navigationBarTextStyle": "black",                       // 导航栏标题颜色,仅支持 black/white
  "backgroundTextStyle": "dark",                            // 下拉 loading 的样式,仅支持 dark/light
  "backgroundColor": "#f7f7f7",                             // 窗口的背景色
  "enablePullDownRefresh": true,                            // 是否开启下拉刷新
  "disableScroll": false,                                   // 是否禁止页面滚动
  "usingComponents": {                                      // 引用的自定义组件,具体介绍见官方文档
      "my-component": "/components/my-component/my-component"
  }
}

4. 示例说明

下面通过两个具体的示例来说明使用目录结构和json文件进行小程序开发。

示例1

一个简单的小程序,只有一个主页面,包含一个标题和一张图片。页面所在目录为pages/index,具体文件如下:

pages/
  index/
    index.js
    index.wxml
    index.wxss
    index.json

其中index.js用来处理页面逻辑,可以为空;index.wxml定义了页面结构,代码如下:

<view class="container">
  <view class="title">这是一个标题</view>
  <image src="../../img/pic.png" class="pic"></image>
</view>

样式文件index.wxss

.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: 100rpx;
  font-size: 36rpx;
}

.title {
  margin-bottom: 50rpx;
}

.pic {
  width: 200rpx;
  height: 200rpx;
  margin-top: 50rpx;
}

index.json为:

{
  "navigationBarTitleText": "主页面"
}

示例2

一个含有导航栏和底部导航栏的小程序,共有3个页面。

目录结构:

pages/
  index/
    index.js
    index.wxml
    index.wxss
    index.json
  contacts/
    contacts.js
    contacts.wxml
    contacts.wxss
    contacts.json
  about/
    about.js
    about.wxml
    about.wxss
    about.json

app.json配置为:

{
  "pages": [
    "pages/index/index",
    "pages/contacts/contacts",
    "pages/about/about"
  ],
  "window": {
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTextStyle": "black",
    "navigationBarTitleText": "微信小程序",
    "backgroundColor": "#f0f0f0",
    "backgroundTextStyle": "light"
  },
  "tabBar": {
    "color": "#999999",
    "selectedColor": "#007AFF",
    "borderStyle": "black",
    "backgroundColor": "#ffffff",
    "list": [
      {
        "pagePath": "pages/index/index",
        "text": "首页",
        "iconPath": "images/home_unselected.png",
        "selectedIconPath": "images/home_selected.png"
      },
      {
        "pagePath": "pages/contacts/contacts",
        "text": "联系人",
        "iconPath": "images/contacts_unselected.png",
        "selectedIconPath": "images/contacts_selected.png"
      },
      {
        "pagePath": "pages/about/about",
        "text": "关于",
        "iconPath": "images/about_unselected.png",
        "selectedIconPath": "images/about_selected.png"
      }
    ]
  }
}

其中tabBar用来定义底部导航栏。list数组中每一项表示一个选项,包含以下几个属性:

  • pagePath:必选项,表示页面路径,必须在pages数组中定义过
  • text:必选项,选项名称
  • iconPath:必选项,未选中时的图标路径(27x27px),支持JPG、PNG、SVG格式
  • selectedIconPath:必选项,选中时的图标路径(27x27px),支持JPG、PNG、SVG格式

pages/about/about为例进行说明,about.js

Page({
  data: {
    about: '这是一段关于我们的介绍'
  }
})

about.wxml

<view class="container">
  <view class="about">{{ about }}</view>
</view>

about.wxss

.container {
  margin-top: 100rpx;
}

.about {
  font-size: 36rpx;
}

about.json

{
  "navigationBarTitleText": "关于我们"
}

5. 总结

本文介绍了微信小程序的目录结构、基本配置以及使用示例。小程序开发使用的目录结构比较清晰明了,各个配置文件的作用也十分明确,可以根据需求灵活配置,方便开发。在进行小程序开发的时候,需要遵守上述规则和建议,才能顺利开发出优秀的小程序应用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:微信小程序学习笔记之目录结构、基本配置图文详解 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解

    Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解 一、前置条件 在进行下文所描述的操作之前,请审核你的环境是否拥有以下条件: Windows平台 PHP环境 IE浏览器 IECapt工具 二、安装IECapt工具 IECapt是一个在Windows平台上使用IE内核进行网页截屏的命令行工具。安装过程如下: 下载IECapt工具:ht…

    PHP 2023年5月26日
    00
  • PHP实现生成推广海报的方法详解

    PHP实现生成推广海报的方法详解 生成推广海报是网络推广中常见的一种方式,可以帮助推广者更好地展示产品和服务。在本篇文章中,我们将详细讲解如何使用PHP实现生成推广海报的方法。 1. 准备工作 在开始之前,我们需要安装一个强大的PHP库——GD库。GD(Gif Draw)库是一个开源的绘图库,用于创建动态和静态图片。要使用GD库,您需要在PHP配置中启用该模…

    PHP 2023年5月23日
    00
  • php实现的简单压缩英文字符串的代码

    实现压缩英文字符串的代码最常见的方法是使用 Run-length encoding(即 RLE 算法)。该算法基于将一个字符序列转换为一个新的字符序列,并且仅记录相邻重复符号的计数。例如,在字符串 AAABBC 上进行 RLE 编码后,得到的结果将是 A3B2C1。 下面是一个 PHP 实现的简单压缩英文字符串的代码: function compressSt…

    PHP 2023年5月26日
    00
  • PHP实现的文件上传类与用法详解

    PHP实现的文件上传类与用法详解 介绍 在Web应用程序中,文件上传是一个极其普遍的功能需求。PHP提供了方便的文件上传功能来处理这个需求。然而,PHP自带的文件上传功能并不是十分完善。因此,我们需要使用第三方的类来实现更多自定义的功能。本文将介绍一个PHP实现的文件上传类以及如何使用它。 下载 我们可以从GitHub上下载这个PHP文件上传类。 开始使用 …

    PHP 2023年5月26日
    00
  • PHP读取大文件的几种方法介绍

    PHP读取大文件的几种方法介绍 在PHP中读取大文件时,内存限制和IO性能成为了两个主要的问题。本文将介绍几种PHP读取大文件的方法,帮助读取大文件时更加高效。 1. 使用fopen和fread逐行读取 通过fopen函数打开文件,然后使用fread函数进行逐行读取。每次读取一行后,进行处理,最后关闭文件。这种方法适用于小批量数据,适用于内存资源较紧的场景。…

    PHP 2023年5月26日
    00
  • php实现记事本案例

    创建记事本页面 首先,我们需要创建一个记事本页面。可以通过HTML代码来实现页面的基本结构。在页面中设置一个表单,该表单包含一个文本区域,用户可以在该文本区域中输入笔记,同时还需加入一个提交按钮,当用户写好笔记后,点击提交按钮,提交笔记内容到后台进行保存。 示例代码: <!DOCTYPE html> <html> <head&g…

    PHP 2023年5月23日
    00
  • 利用PHPExcel导出excel文件的方法详解

    利用PHPExcel导出excel文件的方法详解 在使用PHP开发网站应用时,有时候需要将数据导出成Excel文件供用户下载,这时PHPExcel就是一个不错的选择。本文将详细讲解如何使用PHPExcel导出Excel文件。 前提要求 使用PHPExcel需要满足以下前提要求: PHP版本5.2.0或以上 PHP扩展php_zip和php_xml PHP扩展…

    PHP 2023年5月26日
    00
  • PHP超级全局变量数组小结

    PHP超级全局变量是指能在全局范围内访问的特殊变量数组,其中包括多个变量,以下是它们的摘要: $_SERVER – 包含了诸如头文件、路径和脚本位置之类的信息。下面是一个使用$_SERVER的例子: <?php echo ‘当前的脚本名称: ‘.$_SERVER[‘SCRIPT_NAME’]; ?> $_GET – 包含通过 HTTP GET 方…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部