【微信小程序】认识小程序项目的基本组成结构

简介: 文章目录每日推荐小程序的项目结构1.了解项目的基本组成结构2.小程序页面的组成部分json配置文件json配置文件的作用app.json配置文件project.config.json配置文件sitemap.json配置文件页面中的.json配置文件新建小程序页面修改项目首页WXML模板什么是WXML?WXML与HTML的区别WXSS样式什么是WXSS?WXSS和CSS的区别js逻辑交互小程序中的.js文件小程序中.js文件的分类

小程序的项目结构

1.了解项目的基本组成结构

在上节中我们说到了小程序的注册以及开发工具下载,进入小程序开发界面之后就像这样的:

bc7ad669841c4e4c8886bc3d7d1fb64f.png

这里最重要的一个是资源管理器

image.png

pages用来存放所有小程序的页面

utils用来存放工具性质的模块(例如:格式化时间的自定义模块)

app.js 小程序项目的入口文件

app.json小程序项目的全局配置文件

app.wxss小程序项目的全局样式文件

project.config.json 项目的配置文件

sitemap.json用来配置小程序及其页面是否允许被微信索引

2.小程序页面的组成部分

在小程序开发中,我们将所有的小程序页面都放在pages目录中,以单独的文件夹存在,如图所示:

image.png

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

1 .js文件(页面的脚本文件,存放页面的数据,事件处理函数等)

2 .json文件(当前页面的配置文件,配置窗口的外观,表现等)

3 .wxml文件(页面的模块结构文件)

4 .wxss文件(当前页面的样式表文件)

最终由这四个基本文件共同构成一个页面。


json配置文件

json配置文件的作用

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


小程序项目中json配置文件有4种:


项目根目录中的app.json配置文件

项目根目录中的project.config.json配置文件

项目根目录中的sitemap.json配置文件

每个页面文件夹中的.json配置文件

app.json配置文件

app.json是当前小程序的全局配置,包括了小程序的所有页面路径、窗口外观、界面表现、底部 tab等。项目里边的app.json配置内容如下:

6372e066cfa442bb8393983bad8b0662.png

pages:用来记录当前小程序所有页面的路径

window:全局定义小程序所有页面的背景色、文字颜色等

style:全局定义小程序组件所使用的样式版本

sitemapLocation:用来指明sitemap.json的位置


project.config.json配置文件

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

79bd5db2af234dc98ab70033e8aff1f2.png

setting中保存了编译相关的配置

projectname中保存的是项目名称

appid中保存的是小程序的账号ID

其中setting的设置可通过本地设置进行同步:

e2cc00e5555741ae9f9defc9e3aee406.png

sitemap.json配置文件

微信现已开放小程序内搜索,效果类似于PC网页的SEO。sitemap.json文件用来配置小程序页面是否允许微信索引。当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索关键字和页面的索引匹配成功的时候,小程序的页面将可能展示在搜索结果中。


image.png

image.png

页面中的.json配置文件

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

image.png

cc6f4e65dbbf4e1f8083e99a12dc5ae3.png

新建小程序页面

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

image.png

修改项目首页

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


image.png

WXML模板

什么是WXML?

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


WXML与HTML的区别

标签名不同

HTML ( div, span, img, a)

WXML ( view, text, image, navigator)


属性节点不同

eg:a和navigator标签中的href和url节点

< a href=" " >超链接< /a >

< navigator url=" " >< /navigator >


提供了类似于Vue中的模块语法

数据绑定

列表渲染

条件渲染


WXSS样式

什么是WXSS?

WXSS(weiXin Style Sheets)是一套样式语言,用于描述WXML的组件样式,类似于网页开发中的CSS。


WXSS和CSS的区别

新增了rpx尺寸单位

CSS中需要手动进行像素单位换算,例如rem

WXSS在底层支持新的尺寸单位rpx,在不同大小的屏幕上小程序会自动进行换算


提供了全局的样式和局部样式

项目根目录中的app.WXSS会作用于所有小程序页面

局部页面的.WXSS样式仅对当前页面生效


WXSS仅支持部分CSS选择器

.class和#id

element元素选择器

并集选择器、后代选择器

::after和::before 等伪类选择器


js逻辑交互

小程序中的.js文件

一个项目仅仅提供界面展示是不够的,在小程序中,我们通过.js文件来处理用户的操作。例如:响应用户的点击、获取用户的位置等等。


小程序中.js文件的分类

小程序中的.js文件分为三大类:


app.js文件

是整个小程序项目的入口文件,通过调用App()函数来启动整个小程序

image.png

普通的.js文件

是普通的功能模块文件,用来封装公共的函数或属性供页面使用

image.png


相关文章
|
JSON 小程序 JavaScript
微信小程序之项目基本结构、页面的基础及宿主环境
微信小程序之项目基本结构、页面的基础及宿主环境
368 1
|
机器学习/深度学习 数据采集 算法
大数据分析案例-基于随机森林模型对北京房价进行预测
大数据分析案例-基于随机森林模型对北京房价进行预测
1166 0
大数据分析案例-基于随机森林模型对北京房价进行预测
|
XML 缓存 前端开发
Android 架构之 MVI 初级体 | Flow 替换 LiveData 重构数据链路(下)
Android 架构之 MVI 初级体 | Flow 替换 LiveData 重构数据链路
758 0
|
存储 移动开发 开发框架
【微信小程序 | 实战开发】常用小程序框架介绍
【微信小程序 | 实战开发】常用小程序框架介绍
4304 0
【微信小程序 | 实战开发】常用小程序框架介绍
|
机器学习/深度学习 人工智能 算法
图解机器学习 | KNN算法及其应用
KNN算法(K近邻算法)是一种很朴实的机器学习方法,既可以做分类,也可以做回归。本文详细讲解KNN算法相关的知识,包括:核心思想、算法步骤、核心要素、缺点与改进等。
4084 1
图解机器学习 | KNN算法及其应用
|
12月前
|
存储 JavaScript
vue——store全局存储
【10月更文挑战第18天】Vuex 是 Vue.js 应用中非常重要的一个工具,它为我们提供了一种有效的状态管理方式。通过合理地使用 Vuex,我们可以更好地组织和管理应用的状态,提高应用的开发效率和质量。
343 1
|
11月前
|
人工智能 测试技术 API
探索通义灵码的无限可能:功能场景与应用实战分析
本文深入探讨了通义灵码在现代软件开发中的应用价值。通过代码补全、单元测试自动生成等功能,通义灵码显著提升了开发效率和代码质量。文章通过具体案例展示了其在团队协作、代码风格一致性和创新项目中的实用性,并展望了未来开发的新趋势。
507 5
探索通义灵码的无限可能:功能场景与应用实战分析
|
机器学习/深度学习 算法 PyTorch
使用Pytorch中从头实现去噪扩散概率模型(DDPM)
在本文中,我们将构建基础的无条件扩散模型,即去噪扩散概率模型(DDPM)。从探究算法的直观工作原理开始,然后在PyTorch中从头构建它。本文主要关注算法背后的思想和具体实现细节。
9161 3
|
Java 数据库连接 数据库
如何在Spring Boot中集成Hibernate
如何在Spring Boot中集成Hibernate
|
负载均衡 应用服务中间件 API
深入理解 Nginx 与 Kong 的配置与实践
在微服务架构中,Nginx 用于配置负载均衡,如示例所示,定义上游`pay-service`包含不同权重的服务节点。Kong API 网关则通过service和route进行服务管理和路由,与Nginx的upstream和location类似。通过Kong的命令行接口,可以创建upstream、target、service和route,实现对后端服务的负载均衡和请求管理。Nginx和Kong协同工作,提供高效、灵活的API管理和流量控制。
531 1
深入理解 Nginx 与 Kong 的配置与实践