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


相关文章
|
6月前
|
人工智能 小程序 安全
小程序跨平台框架未来的发展趋势是什么?
小程序跨平台框架未来的发展趋势是什么?
430 128
|
开发框架 人工智能 小程序
小程序常见的 UI 框架
【10月更文挑战第17天】小程序 UI 框架为开发者提供了便捷的工具和资源,帮助他们快速构建高质量的小程序界面。在选择框架时,需要综合考虑各种因素,以找到最适合项目的解决方案。随着技术的不断进步,UI 框架也将不断发展和创新,为小程序开发带来更多的便利和可能性。
1312 156
|
前端开发 UED
中后台前端开发问题之中后台前端开发中的复杂交互问题如何解决
中后台前端开发问题之中后台前端开发中的复杂交互问题如何解决
223 0
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
874 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
小程序 JavaScript 前端开发
小程序常见的UI框架
小程序常见的UI框架
1040 60
|
移动开发 小程序 JavaScript
开源的微信小程序框架
【8月更文挑战第22天】开源的微信小程序框架
1145 65
|
小程序 前端开发 数据可视化
作为一个前端小白,我竟然搞定了一个小程序的交付
作为一名刚毕业的前端码农,今年毕业后就加入了一家初创公司。入职不久便接到了一个小程序开发项目,客户特别强调必须使用小程序原生语言进行开发。由于时间紧迫而合适的后端开发者暂时还没到位,老板决定让我边学边做,承担起整个项目的前后端开发工作。对于初出茅庐的我来说,这无疑是一个巨大的挑战。不仅要掌握一门新的编程语言,还要学习数据库设计、服务器部署等一系列后端技术,任务艰巨。正当我为此感到头疼时,一位前辈向我推荐了极态云。经过一番调研后发现,它简直就是为像我这样缺乏后端经验但又急需快速完成项目的人量身定做的解决方案!
作为一个前端小白,我竟然搞定了一个小程序的交付
|
小程序
【奇葩问题】微信小程序 We分析 访问来源Top10的总比例为什么不止100%
【奇葩问题】微信小程序 We分析 访问来源Top10的总比例为什么不止100%
271 3
|
前端开发 持续交付 开发者
探索现代前端开发中的微前端架构
微前端架构作为一种新兴的前端开发模式,旨在解决传统单体前端应用在可维护性和可扩展性方面的挑战。本文将深入探讨微前端的基本概念、实施方式以及其在提升团队协作效率和应用灵活性方面的优势。同时,我们还将探讨微前端架构的实现细节和常见的技术选型,以帮助开发者在实际项目中成功应用这一理念。