《智能前端技术与实践》——第 2 章 前端开发基础 ——2.7 微信小程序开发——2.7.1 微信小程序框架结构分析

简介: 《智能前端技术与实践》——第 2 章 前端开发基础 ——2.7 微信小程序开发——2.7.1 微信小程序框架结构分析

2.7 微信小程序开发


微信小程序是前端开发的一个重要阵地,它是一种连接用户与服务的全新方式。微信小程 序可以在微信内便捷地获取和传播,同时具有出色的使用体验。同时,微信小程序还提供了一 个简单、高效的应用开发框架,以及丰富的组件和 API。


微信小程序是一种不需要安装即可使用的应用。它实现了应用“触手可及”的梦想,用户 扫一扫或者搜一下即可打开应用,也体现了“用完即走”的理念。用户无须关心是否安装太多 应用的问题。应用将无处不在,随时可用,也无须卸载。



2.7.1 微信小程序框架结构分析


一个网页由 HTML、CSS、JavaScript 构成。其中,HTML 用来描述网页的页面结构,CSS 用来描述网页的页面样式,JavaScript 用来处理页面和用户的逻辑交互。


同样的道理,在小程序中,WXML(WeiXin Markup Language)充当的就是类似于 HTML 的角色,WXSS(WeiXin Style Sheet)充当的就是类似于 CSS 的角色,JavaScript 代码就 是用来处理用户操作的脚本文件。开发者可以在 JavaScript 中调用小程序提供的丰富的 API,利用这些 API 可以轻松调用微信提供的功能,如获取用户信息,完成本地存储、微 信支付等。


整个小程序框架系统分为两部分——逻辑层和视图层。小程序提供了自己的视图层描述语 言 WXML 和 WXSS,以及基于 JavaScript 的逻辑层框架,并在视图层与逻辑层之间提供了数 据传输和事件系统,让开发者能专注于数据与逻辑。


接下来,新建一个微信小程序项目。微信开发者工具主界面如图 2-33 所示。


image.png


由图 2-33 可知,所创建的微信小程序项目名称为 20210116_demo。在该项目的主目录 pages 下有两个子目录和 5 个文件(本节最后将简单介绍 utils 文件夹、project.config.json 文件及 sitemap.json 文件)。其中,以 app 开头的 3 个文件就是微信小程序框架的主描述文件,这 3 个 文件不属于任何页面。


在 pages 目录下,有两个子目录 index 和 logs。在每个子目录中保存着一个页面的所有相 关文件。通常一个页面包含 4 种不同扩展名的文件,分别为页面逻辑文件 index.js、页面结构 文件 index.wxml、样式表文件 index.wxss 和配置文件 index.json。为了减少配置项,描述页面 的 4 个文件必须具有相同的路径与文件名。图 2-34 即为微信小程序的目录结构。


image.png


接下来,我们介绍主目录(项目描述文件)中的文件。


1.app.js


app.js 是微信小程序的主逻辑文件,在项目中不能缺少,每个小程序都需要在 app.js 中调 用 App 方法去注册小程序实例,该实例是全部页面共享的,如代码清单 2-29 所示。


代码清单 2-29


// app.jsApp({
onLaunch(options) {
  },
onShow(options) {
  },
onHide() {
  },
onError(msg) {
console.log(msg)
  },
globalData: 'I am global data'})


2.app.wxss

app.wxss 是微信小程序的主样式表文件,在项目中可有可无,类似于 HTML 中的 CSS, 定义在 app.wxss 中的样式为全局样式,作用于每一个页面。


3.app.json

app.json 是微信小程序的主配置文件,在项目中不能缺少。该文件用来对微信小程序进行 全局配置。其文件内容是一个 JSON 对象,用来决定页面文件的路径、窗口表现,设置网络超 时时间,设置多个页签等。


图 2-35 所示即为 20210116_demo 项目中的 app.json 文件。


image.png



表 2-9 所示即为 app.json 文件中涉及的配置项。


image.png


image.png


关于 list 属性再补充一点,该属性接收一个数组,最少配置两个 tab,最多配置 5 个 tab。 所配置的 tab 将按照数组的顺序排列,其中每一项都是一个对象。我们以本书后续案例中的 hahaAI 小程序为例介绍 tabBar 配置项(见图 2-36)的实际应用。


image.png


接下来,解释子目录(页面描述文件)中的文件。小程序通常由多个页面组成,每个页面 由以下 4 个文件组成。


• index.wxml 文件:页面的描述文件,类似于 HTML 文档,用来进行页面的布局和数 据的绑定等,是一个页面的必需文件。

• index.wxss 文件:页面样式表文件,用来定义本页面使用到的各类样式表,会覆盖app.wxss 中相同的选择器。

• index.js 文件:页面的逻辑文件,小程序中的每个页面都需要在页面对应的 index.js 文 件中通过 Page 构造器进行注册,来指定页面的初始数据、事件处理函数等,是一个 页面的必需文件。

• index.json 文件:页面配置文件,页面中的配置项会覆盖 app.json 的 window 属性中相 同的配置项,对于一个页面来说,可有可无。


接着,继续介绍子目录(其他资源文件,见图 2-37)中的文件。在小程序中,根据项目需 求,我们可能会用到诸如静态图片(图标)、通用 js 模块等文件,这些文件应该存放在单独创 建的子目录中,在调用时指定相对目录即可。


image.png

提示


hahaAI 小程序使用 colorui 来美化页面,用 tabbar 文件夹中包含的图标来显示页面底部的 tab。


最后,介绍 utils 文件夹、project.config.json 文件和 sitemap.json 文件。默认情况下,utils 文件夹仅包含一个 util.js 文件,该文件是一个公用的 JavaScript 库,用来完成日期格式的转换。project.config.json 文件是项目配置文件,在工具上进行的任何配置都会被写入这个文件,当重 新安装微信开发者工具或重换系统时,只要导入相同的代码包,微信开发者工具就会自动恢复到开发项目时的个性化配置,包括编辑器的颜色、代码上传时自动压缩等。sitemap.json 文件 用于配置小程序及其页面是否允许被微信索引,文件内容为一个 JSON 对象,当开发者允许被 微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引,当用户的搜索词条触发 该索引时,小程序的页面就可能显示在搜索结果中。


相关文章
|
1月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
Flex 布局 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。 一、Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
225 0
|
1月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
盒模型 盒模型: 所谓盒模型,就是浏览器为页面中的每个HTML元素生成的矩形盒子。 这些盒子们都要按照可见板式模型在页面上排布。 可见的板式模型主要由三个属性控制:position 属性、display 属性和 float属性。 position属性控制页面上元素间的位置关系。 display属性控制元素是堆叠、并排或者不在页面上显示。 float属性提供控制的方法,以便于把元素组成成多栏布局。 盒模型讲解: 在默认的情况下,每个盒子的边框是不可见的,背景也是透明的。 所以我们 不能直接的看到页面中的盒
147 1
|
1月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
Animation属性 css3为Animation动画提供的几个属性如下: 属性名 属性值 animation-name 指定动画名称,该属性指定一个已有的关键帧定义。 animation-duration 指定动画持续时间。 animation-timing-funtion 指定动画变化速度。 animation-delay 指定动画延迟多长时间才开始执行。 animation-iteration-count 指定动画的循环执行次数。 animation:这是一个复合属性。
158 1
|
1月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
position定位(核心) 我们讲盒模型的时候,提到了3个属性可以用来控制页面排版。 三大属性:position属性,display属性,float属性。 position 属性控制页面上元素间的位置关系。 display 属性控制页面元素是否显示或者是堆叠还是并排显示。 float 属性提供控制方法。 通过float这种控制方法,可以实现多栏布局,导航菜单等等。 position属性是干嘛用的?怎么用?有哪些属性值? position属性控制页面上元素间的位置关系,也就是排版。 怎么用?要知道怎么用
312 0
|
8月前
|
人工智能 自然语言处理 小程序
技术小白如何利用DeepSeek半小时开发微信小程序?
通过通义灵码的“AI程序员”功能,即使没有编程基础也能轻松创建小程序或网页。借助DeepSeek V3和R1满血版模型,用户只需用自然语言描述需求,就能自动生成代码并优化程序。例如,一个文科生仅通过描述需求就成功开发了一款记录日常活动的微信小程序。此外,通义灵码还提供智能问答模式,帮助用户解决开发中的各种问题,极大简化了开发流程,让普通人的开发体验更加顺畅。
2496 11
技术小白如何利用DeepSeek半小时开发微信小程序?
|
7月前
|
小程序 Java 关系型数据库
weixin163基于微信小程序的校园二手交易平台系统设计与开发ssm(文档+源码)_kaic
本文介绍了一款基于微信小程序的校园二手物品交易平台的开发与实现。该平台采用Java语言开发服务端,使用MySQL数据库进行数据存储,前端以微信小程序为载体,支持管理员和学生两种角色操作。管理员可管理用户、商品分类及信息、交易记录等,而学生则能注册登录、发布购买商品、参与交流论坛等。系统设计注重交互性和安全性,通过SSM框架优化开发流程,确保高效稳定运行,满足用户便捷交易的需求,推动校园资源共享与循环利用。
|
8月前
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
7月前
|
小程序 关系型数据库 Java
weixin168“返家乡”高校暑期社会实践微信小程序设计与开发ssm(文档+源码)_kaic
本文探讨高校暑期社会实践微信小程序的开发与应用,旨在通过信息化手段提升活动管理效率。借助微信小程序技术、SSM框架及MySQL数据库,实现信息共享、流程规范和操作便捷。系统涵盖需求分析、可行性研究、设计实现等环节,确保技术可行、操作简便且经济合理。最终,该小程序可优化活动发布、学生信息管理和心得交流等功能,降低管理成本并提高工作效率。
|
8月前
|
小程序 JavaScript 前端开发
微信小程序开发全流程:从注册到上线的完整指南
这篇文章详细记录了微信小程序的完整开发到最终上线的每一个步骤。适合对小程序开发感兴趣的个人开发者或希望了解完整流程的学习者,涵盖了云开发、事件绑定、生命周期管理、组件使用等关键内容。
3627 11
|
7月前
|
监控 前端开发 小程序
陪练,代练,护航,代打小程序源码/前端UNIAPP-VUE2.0开发 后端Thinkphp6管理/具备家政服务的综合型平台
这款APP通过技术创新,将代练、家政、娱乐社交等场景融合,打造“全能型生活服务生态圈”。以代练为切入点,提供模块化代码支持快速搭建平台,结合智能匹配与技能审核机制,拓展家政服务和商业管理功能。技术架构具备高安全性和扩展性,支持多业务复用,如押金冻结、录屏监控等功能跨领域应用。商业模式多元,包括交易抽成、增值服务及广告联名,同时设计跨领域积分体系提升用户粘性,实现生态共生与B端赋能。
720 12

热门文章

最新文章