「这是我参与2022首次更文挑战的第1天,活动详情查看:2022首次更文挑战」
小程序简介
小程序与普通网页开发的区别
-
运行环境不同
- 网页运行在浏览器环境中
- 小程序运行在微信环境中
-
API 不同
由于运行环境不同,所以小程序中,无法调用
DOM和BOM的API。但是,小程序可以调用微信环境提供的各种API,如扫码、支持、地理定位等等 -
开发模式不同
- 网页的开发模式:浏览器 + 代码编辑器
- 小程序有自己的一套标准开发模式:
- 申请小程序开发账号
- 安装小程序开发工具
- 创建和配置小程序项目
小程序体验
使用微信扫描官方提供的小程序码,可体验小程序(用的比较多的是组件和接口)
小程序代码的构成
项目的基本组成结构
pages:存放所有小程序的页面utils:存放工具性质的模块(例如:格式化时间的自定义模块)app.js:小程序项目的入口文件app.json:小程序项目的全局配置文件app.wxss:小程序项目的全局样式文件project.config.json:项目的配置文件sitemap.json:配置小程序及页面是否允许被微信索引
小程序页面的组成部分
小程序官方建议把所有小程序的页面都存放在 pages 目录中,以单独的文件夹存在。
每个页面由 4 个基本文件组成
.js 文件: 页面的脚本文件,存放页面的数据,事件处理函数等.json 文件: 当前页面的配置文件,配置窗口的外观、表现等.wxml 文件:页面的模板结构文件.wxss 文件:当前页面的样式表文件
小程序中有4种 json 配置文件
-
项目根目录中的
app.json配置文件app.json是当前小程序的全局配置文件,包括了小程序所有的页面路径,窗口路径、界面路径、底部tab 等。pages: 用来记录当前小程序所有页面的路径window: 全局定义小程序所有页面的背景色、文字颜色等等style: 全局定义小程序组件所使用的样式版本(v2目前是最新的样式)sitemapLocation: 指明sitemap.json的位置
-
项目根目录中的
project.config.json配置文件project.config.json是项目配置文件,用来记录我们对小程序开发工具的个性化配置-
setting:保存了编译相关的配置 -
projectname:保存项目名称 -
appid:保存小程序的账号ID
-
-
项目根目录中的
sitemap.json配置文件微信现已开放小程序内搜索,效果类似于PC端网页的SEO。
sitemap.json文件用来配置小程序是否允许微信索引当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户搜索的关键字和页面的索引匹配超哥,小程序的页面将可能展示在搜索结果中
action:表示允许搜索,不允许用disallow表示
page:*代码所有页面都允许被搜索 -
项目根目录中的
index.json配置文件小程序的每个页面,都使用
.json文件来对本页面的窗口外观进行配置,页面中的配置项会覆盖app.json的window中的相同配置项
小程序页面的新建和修改项目首页
-
只需要在
app.json -> pages中新增页面的存放路径,小程序开发者工具即可帮我们自动创建页面文件 -
修改项目首页。只需要调整
app.json -> pages数组中页面路径的前后顺序,即可修改项目的首页。小程序会把排在第一位的页面,当作项目首页进行渲染
小程序代码
- 关于 WXML
WXML是小程序框架设计的一套标签语言,用来构建小程序页面结构,类似网页开发中的 HTMLWXML和HTML区别- 标签名称不同
HTML(div、span、img、a)WXML(view、text、image、navigator)
- 属性节点不同
- < a href="#"> 超链接 < /a>
- < navigator url="pages/list/list">< /navigator>
- 提供类似于 Vue 中的模板语法
- 数据绑定
- 列表渲染
- 条件渲染
- 标签名称不同
- 关于 WXSS
WXSS是小程序框架设计的一套样式语言,用来描述WXML的组件样式,类似网页开发中的CSSWXSS和CSS区别-
新增了 rpx 尺寸单位
CSS中需要手动进行像素单位换算,例如remWXSS在底层支持新的尺寸单位rpx, 在不同大小的屏幕上小程序会自动进行换算
-
提供了全局的样式和局部样式
- 项目根目录中的
app.wxss会作用于所有小程序页面 - 局部页面的
.wxss样式仅对当前页面生效
- 项目根目录中的
-
WXSS仅支持部分CSS选择器.class和#idelement::after和::before等伪类选择器- 并集选择器、后代选择器
-
- 关于 js 文件
- 在小程序中,通过
.js文件处理用户的操作,例如:用户响应、获取用户的位置等等 - 小程序中
.js文件的分类-
app.js的作用:整个小程序项目的入口,通过调用APP()函数来启动整个小程序 -
页面的
.js文件的作用:单独页面的入口文件,通过调用Page()函数来创建并运行页面 -
普通的
.js文件的作用:普通的功能模块文件,用来封装公共函数或属性提供页面使用
-
- 在小程序中,通过