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


相关文章
|
4天前
|
Web App开发 数据采集 移动开发
开发uniapp过程中对app、微信小程序与h5的webview调试
开发uniapp过程中对app、微信小程序与h5的webview调试
10 1
|
7天前
|
开发框架 前端开发 JavaScript
我们是否对现代前端开发框架过于崇拜了?
在当前环境下,前端的开发由于框架的限制,导致代码变差。我们应该如何破除代码差的困境,如何正确使用前端架构,提升自己的代码质量。
|
13天前
|
Dart 数据处理 开发者
【Flutter前端技术开发专栏】Flutter是谷歌的开源移动框架,以其高性能和跨平台能力受开发者青睐。
【4月更文挑战第30天】Flutter是谷歌的开源移动框架,以其高性能和跨平台能力受开发者青睐。本文聚焦Flutter开发关键知识点:1) Dart语言和Flutter框架基础,如Widget和State;2) 路由管理,包括基本和命名路由,以及路由传值;3) 使用http、dio等库进行网络请求和数据处理;4) ThemeData定义应用主题,实现样式主题化。掌握这些技能将提升Flutter开发效率和应用质量。
|
13天前
|
存储 JavaScript 前端开发
【Flutter 前端技术开发专栏】Flutter 中的状态管理框架(如 Provider、Redux 等)
【4月更文挑战第30天】本文探讨了 Flutter 开发中的状态管理,重点介绍了 Provider 和 Redux 两种框架。Provider 以其简单易用性适合初学者和小项目,而 Redux 则适用于大型复杂应用,保证状态一致性。此外,还提到了 Riverpod 和 BLoC 等其他框架。选择框架时要考虑项目规模、团队技术水平和个人偏好。文章通过购物车应用示例展示了不同框架的使用,并展望了状态管理框架的未来发展。
【Flutter 前端技术开发专栏】Flutter 中的状态管理框架(如 Provider、Redux 等)
|
14天前
|
小程序 前端开发 JavaScript
轻松学会微信小程序开发(一)
轻松学会微信小程序开发(一)
|
14天前
|
机器学习/深度学习 前端开发 数据可视化
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面
|
14天前
|
开发框架 前端开发 JavaScript
学会Web UI框架--Bootstrap,快速搭建出漂亮的前端界面
学会Web UI框架--Bootstrap,快速搭建出漂亮的前端界面
|
14天前
|
前端开发 开发者
【专栏】BEM(Block-Element-Modifier)是一种前端命名规范和架构方法,旨在创建清晰、可维护的代码结构。
【4月更文挑战第29天】BEM(Block-Element-Modifier)是一种前端命名规范和架构方法,旨在创建清晰、可维护的代码结构。它包括Block(独立功能单元)、Element(Block的子元素)和Modifier(表示状态或变体)。BEM的特点包括命名一致性、模块化设计、清晰结构和可复用性,适用于代码组织、样式管理、组件化开发和团队协作。虽然命名较长和学习成本是其局限性,但BEM在提升代码质量和效率方面具有显著优势,是前端开发的重要工具。
|
15天前
|
JSON 小程序 JavaScript
微信小程序开发1
微信小程序开发1
|
15天前
|
JavaScript 前端开发 开发者
前端框架(Vue.js&&vue-cli项目框架&&element-ui使用)
前端框架(Vue.js&&vue-cli项目框架&&element-ui使用)