微信小程序教程002:代码结构介绍和新建小程序页面

文章目录

  • 代码介绍
    • 1、小程序代码构成
    • 2、小程序页面组成部分
    • 3、JSON配置文件的作用
      • 3.1 app.json文件
      • 3.2 project.config.json文件
      • 3.3 sitemap.json文件
      • 3.4 页面的.json文件
  • 新建小程序页面
  • WXML和WXSS介绍
    • 1、什么是WXML
    • 2、什么是WXSS
  • 小程序的JS文件
    • 1、JS文件
    • 2、小程序中JS文件分类
  • 小程序的宿主环境
    • 1、什么是宿主环境
    • 2、小程序的宿主环境
    • 3、小程序宿主环境包含的内容

代码介绍

1、小程序代码构成

在这里插入图片描述

  • pages:小程序所有页面
  • utils:存放工具性质的模块
  • app.js:小程序项目的入口文件==(至关重要)==
  • app.json:小程序项目的全局配置文件
  • app.wxss:小程序项目的全局样式文件
  • project.config.json:项目的配置文件
  • sitemap.json:用来配置小程序及其页面是否允许被微信索引

2、小程序页面组成部分

小程序官方建议把所有小程序的页面,都存放在pages目录中,以单独的文件夹存放

在这里插入图片描述

其中,每个页面由四个基本文件组成:

  • index.js:页面脚本文件,存放页面的数据、事件处理函数
  • index.json:当前页面的配置文件,配置窗口外观,表现等
  • index.wxml:页面的模板结构文件
  • index.wxss:当前页面的样式表文件

3、JSON配置文件的作用

JSON是一种数据格式,在实际开发中,JSON总是以配置文件的形式出现。小程序也不例外,通过不同的.json配置文件,可以对小程序项目进行不同级别的配置。

小程序项目总共有4种配置文件:

  • 项目根目录的app.json配置文件
  • 项目根目录的project.config.json配置文件
  • 项目根目录的site.map.json配置文件
  • 每个页面文件夹中的.json配置文件

3.1 app.json文件

app.json是当前小程序的全局配置文件,包括了小程序的所有页面路径、窗口外观、界面表现、底部tab等。

在这里插入图片描述

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

3.2 project.config.json文件

project.config.json是项目配置文件,用来记录我们对小程序开发工具所做的个性化配置

  • setting:保存了编译相关的配置
  • projectname:保存的是项目名称
  • appid:保存的是项目id

3.3 sitemap.json文件

微信现在已经开放小程序内搜索,效果类似于PC网页的SEO。sitemap.json文件用来配置小程序页面是否允许微信索引

当开发者允许索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索关键字和页面的索引匹配成功的时候,小程序的页面将可能展示在搜索结果中。

在这里插入图片描述

注意:sitemap的索引默认是开启的,如果需要关闭,可以在project.config.jsonsetting中配置字段"checkSiteMap": false,如果没有,手动添加上即可。

3.4 页面的.json文件

小程序中的每一个页面,可以使用.json文件来对本页面的窗口外观进行配置,页面中的配置项会覆盖app.jsonwindow中相同的配置项。

如果页面配置和全局配置冲突,那么以页面配置为准。

在这里插入图片描述

新建小程序页面

只需要在app.json->pages中新增页面的存放路径,小程序开发者工具即可帮我们自动创建对应的页面文件。

在这里插入图片描述

修改项目首页

只需要调整app.json->pages数组中页面的路径的前后顺序,即可修改项目的首页,小程序会把排在第一位的页面,作为当前项目的首页进行渲染。

在这里插入图片描述

WXML和WXSS介绍

1、什么是WXML

WXML(WeiXin Markup Language)是小程序框架设计的一套标签语言,用来构建小程序页面的结构,其作用类似于网页开发中的HTML。

WXML和HTML的区别

  1. 标签名称不同
    1. HTML(div、span、img、a)
    2. WXML(view、text、image、navigator)
  2. 属性节点不同
    1. <a href='#'>超链接</a>
    2. <navigator url="/pages/home/home"></navigator>
  3. 提供了类似于Vue中的模板语法
    1. 数据绑定
    2. 列表渲染
    3. 条件渲染

2、什么是WXSS

WXSS是一套样式语言,用来描述WXML的组件样式,类似于网页开发中的CSS

WXSS和CSS的区别

  • 新增了rpx尺寸单位
    • CSS中需要手动进行像素单位的换算
    • WXSS在底层支持新的尺寸单位,在不同大小屏幕上小程序会自动进行换算
  • 提供了全局样式和局部样式
    • 项目根目录中的app.wxss会作用于所有小程序页面
    • 局部页面.wxss仅对当前页面生效
  • WXSS仅支持部分CSS选择器
    • .class#id
    • element
    • 并集选择器、后代选择器
    • ::after::before等选择器

小程序的JS文件

1、JS文件

一个项目仅仅提供页面展示是不够的,在小程序中,我们通过.js来处理用户的操作,例如:

  • 响应用户的点击
  • 获取用户的位置等等

2、小程序中JS文件分类

  • app.js
    • 是整个小程序项目的入口,通过调用App函数来启动整个小程序
  • 页面的.js文件
    • 页面的入口文件,通过调用Page()函数来创建并运行页面
  • 普通的.js文件
    • 是普通的模块文件,用来封装公共的函数或者属性供页面使用

小程序的宿主环境

1、什么是宿主环境

宿主环境指的是程序运行所必须的依赖环境

  • Android系统和iOS系统是两个不同的宿主环境。
  • Android是安卓软件的宿主环境,脱离了宿主环境的软件是没有任何意义的。

2、小程序的宿主环境

手机微信是小程序的宿主环境。

小程序借助宿主环境提供的能力,可以完成许多普通网页无法完成的功能:

  • 微信扫码
  • 微信支付
  • 微信登录
  • 地理定位

3、小程序宿主环境包含的内容

  • 通信模型
    • 通信主体是渲染层逻辑层
    • WXMLWXSS样式工作在渲染层。
    • JS脚本工作在逻辑层。
    • 渲染层和逻辑层之间的通信
      • 由微信客户端进行转发
    • 逻辑层和第三方服务器之间的通信
      • 由微信客户端进行转发
  • 运行机制
    • 小程序启动的过程
      1. 小程序的代码包下载到本地
      2. 解析app.json全局配置文件
      3. 执行app.js小程序入口文件,调用App()创建小程序实例
      4. 渲染小程序首页
      5. 小程序启动完成
    • 页面渲染过程
      1. 加载解析页面的.json配置文件
      2. 加载页面的.wxml模板和wxss样式
      3. 执行页面的.js文件,调用Page()创建页面实例
      4. 页面渲染完成
  • 组件
    1. 视图容器
      • view
        • 普通视图区域
        • 类似于html的div
        • 常用来实现页面的布局效果
      • scroll-view
        • 可滚动的视图区域
        • 常用来实现滚动列表效果
      • swiperswiper-item
        • 轮播图容器组件和轮播图item组件
    2. 基础内容
    3. 表单组件
    4. 导航组件
    5. 媒体组件
    6. map地图组件
    7. canvas画布组件
    8. 开放能力
    9. 无障碍访问
  • API

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

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

相关文章

使用abpcli创建项目时提示数据库迁移失败

问题描述 使用abpcli创建项目时提示数据库迁移失败&#xff01; 解决方案&#xff1a; 1、检查数据库连接字符串 {"ConnectionStrings": {"Default": "serverlocalhost;port3306;databaseAcmeBookStore;userroot;passwordyour_password;"} }2、…

MySQL数据库的DQL的高级数据查询语句

目录 非等值联查&#xff1a; 等值联查&#xff1a; eg&#xff1a;5张表联查 连接查询——left/right/inner join on eg: 连接查询——union Eg&#xff1a; 不去重的并集——union all 子查询&#xff08;内部查询&#xff09; 1、where型子查询 2、from型子查询&a…

微信小程序之用户登录

用户登录是小程序的一个常用功能&#xff0c;当用户在浏览文章想要收藏时&#xff0c;在线上购买商品时&#xff0c;只有用户登录自己账号以后&#xff0c;才可以进一步使用这些功能。此文论述了小程序用户登录功能的设计流程 一、设计思路 1、界面 小程序界面效果如下所示&…

web后端--Spring事务管理

事务也要日志配置 !!!!debug前面记得加空格 logging:level:org.springframework.jdbc.support.JdbcTransactionManager: debugrollbackFor 默认情况下&#xff0c;只有出现RunTimeException才会回滚事务&#xff0c;rollbackfor属性用于控制出现何种异常类型&#xff0c;回滚…

Linux shell编程笔记0

一、shell概述 shell是一个命令行解释器&#xff0c;它接收应用程序/用户命令&#xff0c;然后调用操作系统内核。 shell还是一个功能强大的编程语言&#xff0c;易编写、易调试、灵活性强。 二、shell脚本入门 1.进入编辑模式进入到目录下 vi 文件名称如果是system下的文件…

电子水尺的工作原理

TH-SC24电子水尺&#xff0c;也被称为感应式防汛水尺或水位在线监测仪&#xff0c;是一种专门用于监测河流水域水位变化的高科技设备。它在防汛工作中发挥着至关重要的作用&#xff0c;能够实时、准确地提供水位数据&#xff0c;为防汛决策和应急响应提供有力支持。   工作原…

连续两年入选!得帆信息强势上榜2024 Gartner ICT技术成熟度曲线

近日&#xff0c;国际权威咨询机构Gartner发布了《Hype Cycle for ICT in China, 2024》&#xff08;2024年中国ICT技术成熟度曲线&#xff09;报告。得帆信息连续两年入选低代码应用平台&#xff08;LCAP&#xff09;标杆供应商&#xff08;Sample Vendor&#xff09;。 每年&…

ABAP 无意义的FORM 规范

发现一个极为奇怪的现象&#xff0c;大多数ABAP程序员会在FORM名称前加前缀frm_。 请问这是规范吗&#xff0c;整齐好看吗&#xff0c;又好看在哪里呢。这是哪个师傅教的&#xff0c;意义是什么&#xff1f;而且大多数人就来个frm_get_data与frm_del_data&#xff0c;然后这两…

基于springboot+vue+uniapp的居民健康监测小程序

开发语言&#xff1a;Java框架&#xff1a;springbootuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#…

(CVPR-2024)通过多阶段框架和定制的多解码器架构提高扩散模型的训练效率

通过多阶段框架和定制的多解码器架构提高扩散模型的训练效率 Paper Title:Improving Training Efficiency of Diffusion Models via Multi-Stage Framework and Tailored Multi-Decoder Architecture Paper是密歇根大学发表在CVPR 2024的工作 Paper地址 Code地址 Abstract 扩散…

通过哨兵1号SAR数据获取桂林619洪水内涝情况

目录 1.SAR数据下载 2.SAR数据处理 1、下载轨道数据并进行轨道校正。 2、数据处理 3、转换SAR单位并创建彩色合成影像 3.查看彩色合成SAR数据 4.水体提取方法探讨 方法1&#xff1a;阈值提取法 方法2&#xff1a;深度学习提取水域 5.SAR与DEM数据获取 2024年6月19日&a…

MobaXterm 软件安装及使用

MobaXterm 软件安装及使用 1. 引言 MobaXterm是一款功能强大的终端软件&#xff0c;支持SSH、Telnet、RDP、VNC、FTP、SFTP、X11转发和串口等远程会话功能。它使得在Windows系统上进行Linux系统的远程管理和文件传输变得简单便捷。 2. MobaXterm 软件下载 下载链接&#xff…

蚓链数字化生态平台:构建城市智能商业,引领协同发展新潮流

​在当今数字化飞速发展的时代&#xff0c;城市商业的运行模式正在经历着数字化变革。蚓链数字化生态平台应运而生&#xff0c;以其强大的功能和创新的理念&#xff0c;成为构建城市智能商业枢纽中心的关键力量&#xff0c;推动着平台互通、业务贯通、管理协同的全新发展格局。…

五个优秀的免费 Ollama WebUI 客户端推荐

认识 Ollama 本地模型框架&#xff0c;并简单了解它的优势和不足&#xff0c;以及推荐了 5 款开源免费的 Ollama WebUI 客户端&#xff0c;以提高使用体验。 什么是 Ollama&#xff1f; Ollama 是一款强大的本地运行大型语言模型&#xff08;LLM&#xff09;的框架&#xff0c…

opencascade AIS_ManipulatorOwner AIS_MediaPlayer源码学习

前言 AIS_ManipulatorOwner是OpenCascade中的一个类&#xff0c;主要用于操纵对象的交互控制。AIS_ManipulatorOwner结合AIS_Manipulator类&#xff0c;允许用户通过可视化工具&#xff08;如旋转、平移、缩放等&#xff09;来操纵几何对象。 以下是AIS_ManipulatorOwner的基…

深度强化学习 ②(DRL)

参考视频&#xff1a;&#x1f4fa;王树森教授深度强化学习 前言&#xff1a; 最近在学习深度强化学习&#xff0c;学的一知半解&#x1f622;&#x1f622;&#x1f622;&#xff0c;这是我的笔记&#xff0c;欢迎和我一起学习交流~ 这篇博客目前还相对比较乱&#xff0c;后面…

angular入门基础教程(一)环境配置与新建项目

ng已经更新到v18了&#xff0c;我对他的印象还停留在v1,v2的版本&#xff0c;最近研究了下&#xff0c;与react和vue是越来越像了&#xff0c;所以准备正式上手了。 新官网地址:https://angular.cn/ 准备条件 nodejs > 18.0vscodeng版本18.x(最新的版本) {"name&qu…

【前端 17】使用Axios发送异步请求

Axios 简介与使用&#xff1a;简化 HTTP 请求 在现代 web 开发中&#xff0c;发送 HTTP 请求是一项常见且核心的任务。Axios 是一个基于 Promise 的 HTTP 客户端&#xff0c;适用于 node.js 和浏览器&#xff0c;它提供了一种简单的方法来发送各种 HTTP 请求。本文将介绍 Axio…

【虚拟化】KVM概念和架构

目录 一、什么是KVM&#xff1f; 二、KVM的功能 2.1 主要的功能 2.2 其它功能 三、KVM核心组件及作用 四、KVM与VMware的优势 五、KVM架构 六、qemu介绍 七、创建虚拟机流程 一、什么是KVM&#xff1f; Kernel-based Virtual Machine的简称&#xff0c;KVM 是基于虚拟…

ubuntu部署k8s/microk8s安装部署

资源 节点名称IP配置系统node310.2.20.174核8GUbuntu Server 22.04 LTS 64bitnode210.2.24.44核8GUbuntu Server 22.04 LTS 64bitnode110.2.20.134核8GUbuntu Server 22.04 LTS 64bitmaster10.2.24.104核8GUbuntu Server 22.04 LTS 64bit ps:所有命令尽量使用root账号操作 1…