小程序 - 起步

news2024/12/29 10:29:51

小程序代码的构成-项目结构

  1. 了解项目的基本组成结构
    在这里插入图片描述

①用来存放所有小程序的页面
②utils 用来存放工具性质的模块(例如:格式化时间的自定义模块)
③app.js 小程序项目的入口文件
④app.json 小程序项目的全局配置文件
⑤app.wxss 小程序项目的全局样式文件
⑥project.config.json 项目的配置文件⑦sitemap.json用来配置小程序及其页面是否允许被微信索引

  1. 小程序页面的组成部分
    小程序官方建议把所有小程序的页面,都存放在 pages 目录中,以单独的文件夹存在,如图所示:
    在这里插入图片描述

    其中,每个页面由 4 个基本文件组成,它们分别是:
    ① .js 文件(页面的脚本文件,存放页面的数据、事件处理函数等)
    ② .json 文件(当前页面的配置文件,配置窗口的外观、表现等)
    ③ .wxml 文件(页面的模板结构文件)
    ④ .wxss 文件(当前页面的样式表文件)

小程序代码的构成 - JSON 配置文件

  1. JSON 配置文件的作用
    JSON 是一种数据格式,在实际开发中,JSON 总是以配置文件的形式出现。小程序项目中也不例外:通过不同的 .json 配置文件,可以对小程序项目进行不同级别的配置。
    小程序项目中有 4 种 json 配置文件,分别是:
    ① 项目根目录中的 app.json 配置文件
    ② 项目根目录中的 project.config.json 配置文件
    ③ 项目根目录中的 sitemap.json 配置文件
    ④ 每个页面文件夹中的 .json 配置文件

  2. app.json 文件
    app.json 是当前小程序的全局配置,包括了小程序的所有页面路径、窗口外观、界面表现、底部 tab 等。Demo 项目里边的 app.json 配置内容如下:
    在这里插入图片描述

简单了解下这 4 个配置项的作用:
① pages:用来记录当前小程序所有页面的路径
② window:全局定义小程序所有页面的背景色、文字颜色等
③ style:全局定义小程序组件所使用的样式版本
④ sitemapLocation:用来指明 sitemap.json 的位置

  1. project.config.json 文件
    project.config.json 是项目配置文件,用来记录我们对小程序开发工具所做的个性化配置,例如:
    ⚫ setting 中保存了编译相关的配置
    ⚫ projectname 中保存的是项目名称
    ⚫ appid 中保存的是小程序的账号 ID

  2. sitemap.json 文件
    微信现已开放小程序内搜索,效果类似于 PC 网页的 SEO。sitemap.json 文件用来配置小程序页面是否允许
    微信索引。
    当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索关键字和页
    面的索引匹配成功的时候,小程序的页面将可能展示在搜索结果中。
    在这里插入图片描述

注意:sitemap 的索引提示是默认开启的,如需要关闭 sitemap 的索引提示,可在小程序项目配置文件
project.config.json 的 setting 中配置字段 checkSiteMap 为 false

  1. 页面的 .json 配置文件
    小程序中的每一个页面,可以使用 .json 文件来对本页面的窗口外观进行配置,页面中的配置项会覆盖
    app.json 的 window 中相同的配置项。例如:
    在这里插入图片描述

  2. 新建小程序页面
    只需要在 app.json -> pages 中新增页面的存放路径,小程序开发者工具即可帮我们自动创建对应的页面文件,
    如图所示:
    在这里插入图片描述

  3. 修改项目首页
    只需要调整 app.json -> pages 数组中页面路径的前后顺序,即可修改项目的首页。小程序会把排在第一位的页
    面,当作项目首页进行渲染,如图所示:
    在这里插入图片描述

小程序的宿主环境 - 宿主环境简介

  1. 什么是宿主环境

宿主环境(host environment)指的是程序运行所必须的依赖环境。例如:
Android 系统和 iOS 系统是两个不同的宿主环境。安卓版的微信 App 是不能在 iOS 环境下运行的,所以,
Android 是安卓软件的宿主环境,脱离了宿主环境的软件是没有任何意义的!

在这里插入图片描述

  1. 小程序的宿主环境

手机微信是小程序的宿主环境,如图所示:

在这里插入图片描述

小程序借助宿主环境提供的能力,可以完成许多普通网页无法完成的功能,例如:微信扫码、微信支付、微信登录、地理定位、etc…

  1. 小程序宿主环境包含的内容

①通信模型
②运行机制
③组件
④ API

小程序的宿主环境-通信模型

  1. 通信的主体

小程序中通信的主体是渲染层和逻辑层,其中:
①WXML 模板和WXSS 样式工作在渲染层
②JS 脚本工作在逻辑层
在这里插入图片描述

  1. 小程序的通信模型

小程序中的通信模型分为两部分:
① 渲染层和逻辑层之间的通信
⚫ 由微信客户端进行转发
② 逻辑层和第三方服务器之间的通信
⚫ 由微信客户端进行转发

在这里插入图片描述

小程序的宿主环境 - 运行机制

  1. 小程序启动的过程

① 把小程序的代码包下载到本地
② 解析 app.json 全局配置文件
③ 执行 app.js 小程序入口文件,调用 App() 创建小程序实例
④ 渲染小程序首页
⑤ 小程序启动完成

  1. 页面渲染的过程

① 加载解析页面的 .json 配置文件
② 加载页面的 .wxml 模板和 .wxss 样式
③ 执行页面的 .js 文件,调用 Page() 创建页面实例
④ 页面渲染完成

小程序的宿主环境 - 组件

  1. 小程序中组件的分类
    小程序中的组件也是由宿主环境提供的,开发者可以基于组件快速搭建出漂亮的页面结构。官方把小程序的组
    件分为了 9 大类,分别是:
    ① 视图容器
    ② 基础内容
    ③ 表单组件
    ④ 导航组件
    ⑤ 媒体组件
    ⑥ map 地图组件
    ⑦ canvas 画布组件
    ⑧ 开放能力
    ⑨ 无障碍访问

https://developers.weixin.qq.com/miniprogram/dev/component/button.html

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

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

相关文章

苹果手机如何导出微信聊天记录?3个方法,教你快速导出!

微信聊天记录不仅只是几句话、几张图片、几个视频,更是我们与好友之间的感情见证。所以说,把微信上的一些重要聊天记录导出或者备份是很有必要的事情。 如果出现误删或者手机损坏、丢失等情况,那么这些珍贵的聊天记录就会消失。如何导出微信…

tolua中table.remove怎么删除表中符合条件的数据

tolua中table.remove怎么删除表中符合条件的数据 介绍问题(错误方式删除数据)正确删除方案从后向前删除递归方式删除插入新表方式 拓展一下总结 介绍 在lua中删除表中符合条件的数据其实很简单,但是有一个顺序问题,因为lua的表中…

【蓝桥杯】2023省赛H题

考察知识点:双向链表,小根堆 完整代码在文章末尾 题目 【问题描述】 给定一个长度为 N 的整数数列: A1,A2,...,AN。你要重复以下操作 K 次 :…

Day 5 登录页及路由 (三) 基于axios的API调用

系列文章目录 本系列记录一下通过Abp搭建后端,VueElement UI Plus搭建前端,实现一个小型项目的过程。 Day 1 Vue 页面框架Day 2 Abp框架下,MySQL数据迁移时,添加表和字段注释Day 3 登录页以及路由 (一)Day 4 登录页以…

三菱MC协议及报文格式详解

一、简介 三菱MC协议是指三菱电机公司(Mitsubishi Electric)使用的一种通信协议,用于在三菱PLC(可编程逻辑控制器)和其他设备之间进行数据交换和通信。 三菱MC协议有多个版本,最常见的是MC-Protocol&…

uniapp原生插件之安卓USB扫码枪扫码插件

插件介绍 安卓USB扫码枪扫码,监听USB扫码枪 插件地址 安卓USB扫码枪扫码插件 - DCloud 插件市场 超级福利 uniapp 插件购买超级福利 插件方法 开启监听:setListener 重要说明:当开启监听后当前窗体不可点击,点击无任何…

最新夸克网盘 迅雷网盘 UC网盘cpa拉新推广教程 推广申请渠道

最近很多朋友都想做夸克网盘、迅雷网盘、uc网盘的推广 但是找不到申请渠道 可以通过”聚量推客“进行申请,一手渠道价格高 数据好 接下来,让我们开始夸克网盘、迅雷网盘、UC网盘的开通操作教程: 目前市面上,这三家网盘统一的地…

mathtype最新7.4.10.53绿色版本下载

MathType,一款功能强大的数学公式编辑器,一直深受广大用户的喜爱,给很多的理科生和各位学者、教研机构等带来巨大帮助。 软件的主要使用用户为初中、高中以及大学的学生、老师,理工科专业工作者,可用于编辑数学试卷、…

Python画图之动态爱心

Python画出动态爱心(有趣小游戏) 一、效果图二、Python代码 一、效果图 二、Python代码 import random from math import sin, cos, pi, log from tkinter import *CANVAS_WIDTH 640 # 画布的宽 CANVAS_HEIGHT 480 # 画布的高 CANVAS_CENTER_X CANV…

CoCa论文笔记

摘要 计算机视觉任务中,探索大规模预训练基础模型具有重要意义,因为这些模型可以可以极快地迁移到下游任务中。本文提出的CoCa(Contrastive Captioner),一个极简设计,结合对比损失和captioning损失预训练一…

Spring中的核心概念

🎈个人公众号:🎈 :✨✨✨ 可为编程✨ 🍟🍟 🔑个人信条:🔑 知足知不足 有为有不为 为与不为皆为可为🌵 🍉本篇简介:🍉 本篇记录Spring中的核心概念,如有出入还…

QQ文件怎么恢复?3个方法解决文件丢失问题!

无论是在学习还是工作中,我们都有可能需要接触到QQ这款软件。QQ传输文件十分方便,因此仍然有许多小伙伴喜欢用QQ来发送各种类型的文件。对于大家来说,最害怕的莫过于重要的文件出现丢失的情况。 当我们发现QQ文件意外删除或者过期时该怎么办…

【第28例】IPD体系进阶 | 需求管理:需求实现过程

目录 简介 内容详解 CSDN学院相关推荐 作者简介 简介 继续 IPD 体系中的需求管理相关的专题。 先来看看整个需求管理涉及的过程内容: 需求管理流程主要包含五个阶段: 需求收集; 需求分析; 需求分发/分配;

软件开发项目文档系列之九如何撰写测试方案

测试方案是任何软件开发和项目实施过程中的重要组成部分,它提供了确保系统质量和可靠性的蓝图。通过明确定义测试的范围、策略、资源和计划,测试方案确保项目团队明白如何有效地执行测试,并提供客观的评估和反馈。它有助于降低项目风险&#…

【PyTorch 卷积】实战自定义的图片归类

前言 卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一,它通过卷积层、池化层、全连接层等结构,可以有效地处理如时间序列和图片数据等。关于卷积的概念网络上也比较多,这里就不一一描述了。…

苹果手机黑屏了怎么恢复正常?这些修复方法记得收藏好!

苹果手机黑屏是一种常见的手机故障,很多人在遇到手机突然黑屏的情况时感到束手无策。手机黑屏会干扰用户的正常使用,带来不便,并给用户带来不好的体验。苹果手机黑屏了怎么恢复正常?本文将为大家详细介绍修复苹果手机黑屏的方法。…

3.网络之UDP

UDP协议 文章目录 UDP协议1. UDP概述2. UDP报文格式3. UDP传输限制4. UDP校验和4.1 CRC 循环冗余校验算法4.2 md5 校验算法 1. UDP概述 UDP(UserDatagramProtocol)是一个简单的面向消息的传输层协议,尽管UDP提供标头和有效负载的完整性验证&a…

Linux指令【下】

目录 时间 date 时间戳 cal 查找 find which whereis grep uniq 打包压缩 zip/unzip tar uname 其他热键 关机 系统互传 linux和Windows Linux和Linux 时间 date 用法:date[option] [format] 选项功能%Y年%d日%m月%H时%M分%s秒%X%H:%M%S%F%Y-%…

「Java开发指南」如何用MyEclipse搭建Spring MVC应用程序?(一)

本教程将指导开发者如何生成一个可运行的Spring MVC客户应用程序,该应用程序实现域模型的CRUD应用程序模式。在本教程中,您将学习如何: 从数据库表的Scaffold到现有项目部署搭建的应用程序 使用Spring MVC搭建需要MyEclipse Spring或Bling授…

【MySQL数据库】 一

本文主要介绍了关系型数据库和非关系数据库的区别,以及主流的关系型数据库mysql的安装 , 以及mysql数据库客户端-服务器的结构. 一.数据库的分类 我们可以简单的把数据库看成是一类软件 数据库分成两大类 1.关系型数据库 通常以表格的方式来组织 2.非关系型数据库 通常以键值…