《智能前端技术与实践》——第 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 对象,当开发者允许被 微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引,当用户的搜索词条触发 该索引时,小程序的页面就可能显示在搜索结果中。


相关文章
|
8天前
|
前端开发 JavaScript 开发者
颠覆传统:React框架如何引领前端开发的革命性变革
【10月更文挑战第32天】本文以问答形式探讨了React框架的特性和应用。React是一款由Facebook推出的JavaScript库,以其虚拟DOM机制和组件化设计,成为构建高性能单页面应用的理想选择。文章介绍了如何开始一个React项目、组件化思想的体现、性能优化方法、表单处理及路由实现等内容,帮助开发者更好地理解和使用React。
33 9
|
22天前
|
人工智能 前端开发 JavaScript
前端架构思考 :专注于多框架的并存可能并不是唯一的方向 — 探讨大模型时代前端的分层式微前端架构
随着前端技术的发展,微前端架构成为应对复杂大型应用的流行方案,允许多个团队使用不同技术栈并将其模块化集成。然而,这种设计在高交互性需求的应用中存在局限,如音视频处理、AI集成等。本文探讨了传统微前端架构的不足,并提出了一种新的分层式微前端架构,通过展示层与业务层的分离及基于功能的横向拆分,以更好地适应现代前端需求。
|
2天前
|
前端开发 JavaScript API
前端界的秘密武器:掌握这些框架,让你轻松秒杀99%的同行!
前端开发日新月异,掌握几个明星框架如React、Vue.js和Angular,不仅能让工作更得心应手,还能轻松超越同行。React以高效的虚拟DOM和组件化著称;Vue.js简洁易懂,灵活性高;Angular提供全面的解决方案,适合大型应用。此外,轻量级的Svelte也值得关注,其编译时处理设计提升了应用性能。掌握这些框架,结合深刻理解和灵活运用,助你在前端领域脱颖而出。
16 9
|
14天前
|
前端开发 JavaScript
Bootstrap Web 前端 UI 框架
Bootstrap 是快速开发 Web 应用程序的前端工具包。
29 3
|
20天前
|
JavaScript 前端开发 测试技术
前端全栈之路Deno篇(五):如何快速创建 WebSocket 服务端应用 + 客户端应用 - 可能是2025最佳的Websocket全栈实时应用框架
本文介绍了如何使用Deno 2.0快速构建WebSocket全栈应用,包括服务端和客户端的创建。通过一个简单的代码示例,展示了Deno在WebSocket实现中的便捷与强大,无需额外依赖,即可轻松搭建具备基本功能的WebSocket应用。Deno 2.0被认为是最佳的WebSocket全栈应用JS运行时,适合全栈开发者学习和使用。
|
20天前
|
缓存 前端开发 JavaScript
前端serverless探索之组件单独部署时,利用rxjs实现业务状态与vue-react-angular等框架的响应式状态映射
本文深入探讨了如何将RxJS与Vue、React、Angular三大前端框架进行集成,通过抽象出辅助方法`useRx`和`pushPipe`,实现跨框架的状态管理。具体介绍了各框架的响应式机制,展示了如何将RxJS的Observable对象转化为框架的响应式数据,并通过示例代码演示了使用方法。此外,还讨论了全局状态源与WebComponent的部署优化,以及一些实践中的改进点。这些方法不仅简化了异步编程,还提升了代码的可读性和可维护性。
|
21天前
|
前端开发 JavaScript 中间件
前端全栈之路Deno篇(四):Deno2.0如何快速创建http一个 restfulapi/静态文件托管应用及oak框架介绍
Deno 是由 Node.js 创始人 Ryan Dahl 开发的新一代 JavaScript 和 TypeScript 运行时,旨在解决 Node.js 的设计缺陷,具备更强的安全性和内置的 TypeScript 支持。本文介绍了如何使用 Deno 内置的 `Deno.serve` 快速创建 HTTP 服务,并详细讲解了 Oak 框架的安装和使用方法,包括中间件、路由和静态文件服务等功能。Deno 和 Oak 的结合使得创建 RESTful API 变得高效且简便,非常适合快速开发和部署现代 Web 应用程序。
|
26天前
|
前端开发 JavaScript 开发者
qiankun(乾坤)微前端框架简介
qiankun(乾坤)微前端框架简介
74 1
|
21天前
|
前端开发 JavaScript API
前端的全栈之路Meteor篇(完):关于前后端分离及与各框架的对比,浅析分离之下的潜在耦合
本文探讨了Meteor.js这一全栈JavaScript框架的特点与优势,特别是在前后端分离架构中的应用。Meteor通过共享数据结构和简化全栈开发流程,实现了前后端的紧密协作。文章还对比了其他全栈框架,如Next.js、Nuxt.js等,分析了各自的优势与适用场景,最后讨论了通过定义文档归属者和用户专有数据集简化后端构建及端云数据同步的方法。
|
23天前
|
存储 小程序 安全
微信的开发管理都需要配置什么?
【10月更文挑战第17天】微信的开发管理都需要配置什么?
29 0

热门文章

最新文章