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

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

小程序的项目结构


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


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



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



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


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


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


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


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


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


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


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


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



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


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


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


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


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


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


json配置文件


json配置文件的作用


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


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


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


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


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


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


app.json配置文件


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



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


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


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


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


project.config.json配置文件


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



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


projectname中保存的是项目名称


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


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



sitemap.json配置文件


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



页面中的.json配置文件


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



更多颜色代码详情请看:颜色表大全,颜色代码



新建小程序页面


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



修改项目首页


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



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()函数来启动整个小程序



  • 页面中的.js文件


是页面的入口文件,通过调用Page()函数来创建并运行页面



  • 普通的.js文件


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



目录
相关文章
|
2月前
|
存储 小程序 Java
热门小程序源码合集:微信抖音小程序源码支持PHP/Java/uni-app完整项目实践指南
小程序已成为企业获客与开发者创业的重要载体。本文详解PHP、Java、uni-app三大技术栈在电商、工具、服务类小程序中的源码应用,提供从开发到部署的全流程指南,并分享选型避坑与商业化落地策略,助力开发者高效构建稳定可扩展项目。
|
存储 JSON 小程序
微信小程序入门之新建并认识小程序结构
微信小程序入门之新建并认识小程序结构
211 1
ly~
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
307 6
|
JSON 小程序 前端开发
微信小程序的目录结构及页面结构的说明
本文详细介绍了微信小程序的目录结构、页面组成部分以及项目的全局配置文件,阐述了小程序的宿主环境和运行机制,包括小程序启动和页面渲染的过程。
微信小程序的目录结构及页面结构的说明
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
2265 3
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
3172 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
JavaScript
vue尚品汇商城项目-day06【43.微信支付业务】
vue尚品汇商城项目-day06【43.微信支付业务】
129 0
|
2月前
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
3月前
|
小程序 JavaScript API
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
这篇文章介绍了使用uni-halo框架进行微信小程序开发的过程,包括选择该框架的原因、开发目标以及项目配置和部署的步骤。
157 0
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
|
9月前
|
自然语言处理 搜索推荐 小程序
微信公众号接口:解锁公众号开发的无限可能
微信公众号接口是微信官方提供的API,支持开发者通过编程与公众号交互,实现自动回复、消息管理、用户管理和数据分析等功能。本文深入探讨接口的定义、类型、优势及应用场景,如智能客服、内容分发、电商闭环等,并介绍开发流程和工具,帮助运营者提升用户体验和效率。未来,随着微信生态的发展,公众号接口将带来更多机遇,如小程序融合、AI应用等。