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

简介: 文章目录每日推荐小程序的项目结构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


相关文章
|
机器学习/深度学习 人工智能 算法
图解机器学习 | KNN算法及其应用
KNN算法(K近邻算法)是一种很朴实的机器学习方法,既可以做分类,也可以做回归。本文详细讲解KNN算法相关的知识,包括:核心思想、算法步骤、核心要素、缺点与改进等。
4732 1
图解机器学习 | KNN算法及其应用
|
8月前
|
SQL 弹性计算 数据库
鸿蒙5开发宝藏案例分享---优化应用时延问题
鸿蒙性能优化指南来了!从UI渲染到数据库操作,6大实战案例助你提升应用流畅度。布局层级优化、数据加载并发、数据库查询提速、相机资源延迟释放、手势识别灵敏调整及转场动画精调,全面覆盖性能痛点。附赠性能自检清单,帮助开发者高效定位问题,让应用运行如飞!来自华为官方文档的精华内容,建议收藏并反复研读,共同探讨更多优化技巧。
|
9月前
|
数据采集 前端开发 JavaScript
深挖navigator.webdriver浏览器自动化检测的底层分析
本文详细讲解了如何通过技术手段破解浏览器 `navigator.webdriver` 检测,结合爬虫代理、多线程等策略,在豆瓣图书页面批量采集数据。具体包括:隐藏 Selenium 特征、配置代理突破 IP 限制、设置伪装用户、利用多线程提升效率。文章面向初学者,提供分步教程与示例代码,同时设有「陷阱警告」帮助规避常见问题。目标是从底层实现反检测,高效采集图书评分、简介、作者等信息,适合具备 Python 和 Selenium 基础的读者实践学习。
360 12
深挖navigator.webdriver浏览器自动化检测的底层分析
|
存储 人工智能 自然语言处理
OpenScholar:华盛顿大学联合艾伦研究所开源的学术搜索工具
OpenScholar是由华盛顿大学和艾伦AI研究所联合开发的开源学术搜索工具,旨在通过检索和综合科学文献中的相关论文来回答用户问题。该工具利用大规模科学论文数据库、定制的检索器和重排器,以及一个优化的8B参数语言模型,生成基于实际文献的准确回答。OpenScholar在提供事实性回答和准确引用方面超越了现有的专有和开源模型,所有相关代码和数据均已开源,支持并加速科学研究。
658 1
OpenScholar:华盛顿大学联合艾伦研究所开源的学术搜索工具
|
机器学习/深度学习 算法 PyTorch
使用Pytorch中从头实现去噪扩散概率模型(DDPM)
在本文中,我们将构建基础的无条件扩散模型,即去噪扩散概率模型(DDPM)。从探究算法的直观工作原理开始,然后在PyTorch中从头构建它。本文主要关注算法背后的思想和具体实现细节。
9368 3
|
存储 负载均衡 应用服务中间件
LVS负载均衡群集——NAT模式实操
LVS负载均衡群集——NAT模式实操
1663 0
|
Java 数据库连接 数据库
如何在Spring Boot中集成Hibernate
如何在Spring Boot中集成Hibernate
1020 0
|
云安全 监控 安全
什么是蜜罐,在当前网络安全形势下,蜜罐能提供哪些帮助
蜜罐作为一种主动防御技术,在网络安全领域发挥着越来越重要的作用。通过部署蜜罐,组织可以及时发现并应对网络攻击,提高网络的安全防护能力。同时,蜜罐也可以作为一个研究工具,帮助安全研究人员了解攻击者的行为和技术。
|
安全 网络安全
IPXProxy代理提升网络安全:私人住宅IP的高匿名性
​在现代数字环境中,保护在线隐私和安全已成为关键问题。每次我们在网上浏览时,都会留下数据痕迹,这些痕迹可能被用来跟踪我们的活动,甚至有些网站会禁止访问我们的IP地址。为了保护上网安全并确保网络活动顺利进行,许多个人和企业转向使用私人住宅IP。那么,什么是私人住宅IP,它的高匿名性体现在哪些方面?
359 0
|
JavaScript Java 测试技术
基于SpringBoot+Vue的洗衣店订单管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的洗衣店订单管理系统的设计与实现(源码+lw+部署文档+讲解等)
168 0