news 2026/7/20 13:12:27

微信小程序全套知识点完整总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
微信小程序全套知识点完整总结

微信小程序全套知识点完整总结

一、小程序基础认知

1. 宿主环境核心概念

宿主环境是程序运行依赖的载体,微信App是小程序唯一宿主,依托安卓/iOS系统运行,可调用微信独有能力:扫码、支付、定位、登录等普通网页无法实现的功能。
宿主环境四大组成:通信模型、运行机制、内置组件、微信API。

2. 双层通信架构

小程序分为渲染层(WXML+WXSS)逻辑层(JS),两层通信全部由微信Native客户端转发:

  1. 渲染层 ↔ 逻辑层:用户操作触发事件、数据双向更新
  2. 逻辑层 ↔ 第三方服务器:网络请求、数据响应,全部经过微信中转

3. 完整启动&页面渲染流程

(1)小程序整体启动步骤
  1. 下载小程序代码包至本地
  2. 解析全局配置app.json
  3. 执行app.js,调用App()创建小程序全局实例
  4. 渲染pages数组首位页面(首页)
  5. 小程序启动完成
(2)单页面渲染步骤
  1. 解析当前页面.json配置
  2. 加载页面WXML模板 +WXSS样式
  3. 执行页面.js,调用Page()创建页面实例
  4. 页面渲染完成

二、小程序项目文件结构与四类JSON配置

(一)项目整体目录

根目录核心文件:

  • app.js:全局入口逻辑
  • app.json:全局窗口、页面路径配置
  • app.wxss:全局公共样式
  • project.config.json:开发者工具个性化配置
  • sitemap.json:搜索索引配置
  • pages/:所有页面文件夹(每个页面4文件:js/json/wxml/wxss)
  • utils/:公共工具函数

(二)四类JSON配置详解

1. app.json(全局配置,优先级最低)

核心配置项:

  • pages[]:页面路径数组,数组第一项为首页;新增页面只需在此追加路径,工具自动生成页面4个文件
  • window:全局导航栏样式
    • navigationBarBackgroundColor:导航栏背景色(十六进制)
    • navigationBarTitleText:导航栏文字
    • navigationBarTextStyle:文字仅支持black/white
  • 页面配置会覆盖app.json相同window属性
2. 页面page.json(单页面配置,优先级高于全局)

仅作用当前页面,可单独修改当前页导航栏颜色、标题、引入自定义组件:

{"navigationBarBackgroundColor":"#f60bb6","usingComponents":{}}
3. sitemap.json(搜索SEO索引配置)

作用:控制微信爬虫是否收录页面,匹配搜索关键词后展示小程序页面。

{"rules":[{"action":"allow","page":"*"}]}
  • action: allow允许索引;disallow禁止对应页面索引
  • page: "*"代表全部页面

checkSiteMap 与 action 核心区别

  1. action(sitemap.json内):控制页面是否被爬虫收录,业务功能开关,上线生效
  2. checkSiteMap(project.config.json setting):仅控制开发者工具控制台是否弹出索引提示,纯调试开关,设为false关闭提示,不影响线上搜索收录
4. project.config.json

工具配置,仅本地生效,存储编辑器、编译、调试设置,不参与线上发布。

三、四大核心技术栈:WXML / WXSS / JS / JSON

1. WXML(页面结构,对标HTML)

(1)WXML vs HTML 三大差异
  1. 标签完全不同
    HTML:div、span、img、a
    WXML:view、text、image、navigator
  2. 跳转语法不同
    HTML:<a href="地址">
    WXML:<navigator url="/pages/xxx/xxx">
  3. 内置模板语法:数据绑定、条件渲染、列表渲染
(2)WXML核心模板语法
① 数据绑定 Mustache{{}}

数据定义在页面js的data对象中,双大括号渲染,支持4类场景:

  1. 绑定文本内容:<view>{{info}}</view>
  2. 绑定标签属性:<image src="{{imgSrc}}"></image>
  3. 三元运算:<view>{{num>5?'大':'小'}}</view>
  4. 算术运算:<view>{{num*100}}</view>
    调试:开发者工具AppData面板可实时查看data数据
② 事件绑定(渲染层→逻辑层通信)

事件是用户交互传递数据的唯一方式,核心事件:

事件绑定写法作用
tapbindtap点击(替代click)
inputbindinput输入框内容变化
changebindchange状态切换
  1. 事件对象event核心属性
    • target:触发事件的源头组件(冒泡场景)
    • currentTarget:绑定事件的当前组件
    • detail:input输入值、滑动数值等附加数据
  2. 修改data数据:this.setData({键:值}),触发页面刷新
  3. 事件传参:不能直接传参,用data-自定义名="{{值}}",函数内e.target.dataset.自定义名获取
  4. 双向绑定input:input value绑定data,bindinput实时同步更新data
③ 条件渲染
  1. wx:if / wx:elif / wx:else:动态创建/销毁节点,复杂判断推荐;多组件用<block wx:if>包裹(block无渲染)
  2. hidden="{{布尔}}":仅CSS隐藏(display:none),频繁切换推荐
  3. 区别:wx:if会销毁DOM,hidden只是样式隐藏
④ 列表渲染 wx:for
  1. 基础循环:<view wx:for="{{数组}}">{{index}}-{{item}}</view>
    index=下标,item=数组单项
  2. 自定义下标/项:wx:for-index="idx" wx:for-item="obj"
  3. wx:key:指定列表唯一标识(id/index),提升列表渲染性能

2. WXSS(页面样式,对标CSS)

WXSS 扩展&限制
  1. 新增rpx自适应单位:以750rpx为屏幕满宽,自动适配所有手机,无需rem换算
  2. 样式分层:根目录app.wxss全局生效;页面.wxss仅当前页面生效
  3. 仅支持部分CSS选择器:class、id、元素、后代、伪类after/before等,不支持复杂嵌套

3. JS逻辑文件(三类JS)

  1. app.js:全局入口,App()初始化小程序,存储全局数据、全局生命周期
  2. 页面.js:页面入口,Page()创建页面实例,data存储页面数据、页面事件、生命周期
  3. 普通utils/js:公共工具函数,模块化引入复用

四、小程序内置九大组件

1. 视图容器组件(布局核心)

  1. <view>:等同于div,块级布局,支持flex弹性布局
  2. <scroll-view>:滚动容器,横向scroll-x/纵向scroll-y,滚动必须设置固定高度
  3. <swiper/swiper-item>:轮播图
    常用属性:indicator-dots(指示点)、autoplay自动轮播、interval间隔、circular无缝轮播

2. 基础文本组件

  1. <text>:纯文本,selectable开启长按复制文字
  2. <rich-text>:通过nodes属性渲染HTML富文本(商品详情场景)

3. 媒体图片 image

  • 默认尺寸:宽300px、高240px
  • src路径:/代表项目根目录
  • mode缩放模式:scaleToFill(拉伸铺满)、aspectFit(完整显示)、aspectFill(裁剪铺满)、widthFix(宽度自适应)

4. 表单按钮 button

type:primary主色、warn警告、默认;size="mini"小尺寸;plain镂空按钮;open-type可调用微信授权、客服、转发能力

5. 导航 navigator

等同于a标签,url跳转页面

其余组件:表单、地图map、画布canvas、开放能力、无障碍组件

五、小程序API分类

小程序所有能力通过wx.xxx调用,分3大类:

  1. 事件监听API:以on开头(wx.onWindowResize),监听系统事件
  2. 同步API:以Sync结尾(wx.setStorageSync),直接返回结果,出错抛异常
  3. 异步API:wx.request网络请求等,通过success/fail/complete回调接收结果

六、协同开发、版本管理与发布全流程

1. 项目组织架构

项目经理统筹,四大团队:产品(需求)→设计(UI)→开发(编码)→测试(验收)

2. 两类后台成员

  1. 项目成员:开发者/运营/数据分析师,可登录管理后台、上传代码、配置
  2. 体验成员:仅内测扫码体验,无后台权限,管理员/开发者均可添加

3. 小程序4种版本

  1. 开发版本:开发者工具上传,本地开发提交,可删除
  2. 体验版本:从开发版本选取,给内测人员测试
  3. 审核中版本:提交腾讯官方审核,仅一份待审版本
  4. 线上版本:所有用户可访问,审核通过发布覆盖旧版

4. 完整发布步骤

  1. 开发者工具点击【上传】,填写版本号、备注,提交开发版本
  2. 登录小程序后台 → 管理 → 版本管理,查看上传代码
  3. 选中开发版本【提交审核】,填写类目、功能说明
  4. 腾讯审核通过后,后台点击【发布】,全量上线

5. 运营与推广

  1. 小程序码:辨识度高于普通二维码,后台【设置-基本信息】下载,用于线下推广
  2. 数据查看两种方式:
    • 小程序管理后台-统计面板
    • 微信搜「小程序数据助手」小程序查看实时数据

七、整体学习目标总结

  1. 掌握项目创建、开发者工具使用、AppID获取
  2. 清晰小程序完整目录与四类JSON配置优先级
  3. 熟练WXML模板语法:数据绑定、事件、条件/列表渲染
  4. 使用WXSS rpx单位完成页面布局美化
  5. 全局app.json、页面page.json差异化配置
  6. 常用内置组件(view/swiper/image/button)实战
  7. 小程序网络请求wx.request使用
  8. 团队协同、成员管理、代码上传审核发布全流程

补充:关键易混点汇总

  1. 首页修改:调整app.json pages数组第一项
  2. 页面自动生成:pages数组新增路径,工具自动创建4页面文件
  3. 导航栏样式:页面json > app.json window
  4. sitemap提示开关(checkSiteMap)≠ 页面收录开关(action)
  5. wx:if销毁节点,hidden仅隐藏样式;循环必须加wx:key优化性能
  6. 事件不能直接传参,依靠data-*自定义属性传递参数
  7. JS无DOM/BOM,只能通过setData驱动页面更新
  8. 代码发布必须经腾讯审核,审核通过才能对外提供访问

需要我把这份总结整理成PPT逐页文案(每页标题+要点+配图说明)直接可用吗?

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/20 13:11:12

没有经验开办诊所资质办理注意事项:4家代办机构深度盘点

不同开办诊所人群的资质办理需求差异当前开办诊所的主体呈现多元化特征&#xff0c;不同人群的资质办理需求存在明显差异。从公立医疗机构离职首次创业的从业者&#xff0c;大多具备专业诊疗能力&#xff0c;但对诊所备案、医疗机构执业许可证办理的相关政策要求不够熟悉&#…

作者头像 李华
网站建设 2026/7/20 13:10:35

flink的低延迟原理详解

Apache Flink 是一个开源流处理框架&#xff0c;旨在提供低延迟和高吞吐量的数据处理能力。为了实现低延迟&#xff0c;Flink 设计了一系列核心机制和原理。以下是一些关键点&#xff0c;解释了 Flink 如何实现低延迟&#xff1a; 一. ‌事件驱动的架构‌ Flink 是一个基于事…

作者头像 李华
网站建设 2026/7/20 13:09:49

Loop:优雅的macOS窗口管理,重新定义你的工作流

Loop&#xff1a;优雅的macOS窗口管理&#xff0c;重新定义你的工作流 【免费下载链接】Loop Window management made elegant. 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 你是否曾经在多个应用窗口之间疲于奔命&#xff1f;当浏览器、文档编辑器、聊天工…

作者头像 李华
网站建设 2026/7/20 13:08:56

哈工大研究揭示6大抗炎生活方式,效果优于常规运动

1. 项目概述&#xff1a;慢性炎症防控的新视角哈工大最新研究颠覆了我们对慢性炎症防控的传统认知。这项历时5年的追踪研究发现&#xff0c;在抗击慢性炎症方面&#xff0c;某些特定生活方式的效果竟然优于常规运动。研究团队通过对3000名35-65岁城市居民的长期观察&#xff0c…

作者头像 李华
网站建设 2026/7/20 13:08:54

如何让Windows命令行脱胎换骨:Clink超实用指南揭秘3大核心价值

如何让Windows命令行脱胎换骨&#xff1a;Clink超实用指南揭秘3大核心价值 【免费下载链接】clink Bashs powerful command line editing in cmd.exe 项目地址: https://gitcode.com/gh_mirrors/cl/clink 你是否曾经羡慕过Linux和macOS用户那流畅的命令行体验&#xff1…

作者头像 李华