微信小程序

本文详细介绍了微信小程序的组成部分,包括app.json、project.config.json、sitemap.json等配置文件的作用,以及WXML模板、WXSS样式、JS逻辑交互。讲解了小程序的宿主环境、页面渲染流程、组件如Button、Image的使用,事件处理如bindtap,以及列表渲染、导航、下拉刷新和上拉触底等交互功能。此外,还涵盖了小程序的生命周期、通信模型和API的分类。
摘要由CSDN通过智能技术生成

微信小程序项目结构
微信小程序项目结构

app.js:页面逻辑实现
app.json: 标题栏,状态栏,页面的管理
wxml:页面内容编辑
wxss: 页面样式编辑
project.config.json:小程序配置文件依赖

程序文件结构

文件名 必需 作用
app.js 小程序逻辑
app.json 小程序公共设置
app.wxss 小程序公共样式表

页面文件结构

文件类型 必需 作用
wxml 页面结构
wxss 页面样式
json 页面配置
js 页面逻辑
文件类型必需作用wxml是否否是
【注意:为了方便开发者减少配置项,规定描述页面的四个文件,必须具有相同的路径与文件名】

微信小程序

微信小程序的目录结构及作用

微信小程序

微信小程序的目录结构及作用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CPagIoHp-1680514199805)(C:\Users\snr17\AppData\Roaming\Typora\typora-user-images\image-20230403172129443.png)]

- pages 用来存放所有小程序的页面
- utils 用来存放工具类性质的模块(例如:格式化时间的自定义函数)
- app.js 小程序项目的入口文件
- app.json 小程序项目的全局配置文件
- app.wxss 小程序项目的全局样式文件
- project.config.json 项目的配置文件
- sitemap.json 用来配置小程序及其页面是否允许被微信索引    

在这里插入图片描述

小程序 官方建议把所有小程序的页面,都存放在 pages 目录中,以单独的文件夹存在。

其构成文件结构及作用:

  • . js 文件 (页面的脚本文件,存放页面的数据,事件处理函数等)
  • .json 文件(当前页面的配置文件,配置窗口的外观,表现等)
  • .wxml 文件(页面的模板结构文件)
  • .wxss 文件(当前页面的样式表文件)
app.json

app.json 是当前小程序的全局配置,包括了小程序的所有页面路径,窗口外观,界面表现,底部 tabl 等

{
   
  // 用来记录当前小程序所有页面的路径
  "pages": [
    "pages/index/index",
    "pages/logs/logs"
  ],
  // 全局定义小程序所有页面的背景色,文本颜色等
  "window": {
   
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "Weixin",
    "navigationBarTextStyle": "black"
  },
  // 全局定义 小程序组件说使用的样式模板
  "style": "v2",
  // 用来指明 sitemap.json 的位置
  "sitemapLocation": "sitemap.json",
  "lazyCodeLoading": "requiredComponents"
}

project.config.json

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

{
   
  "description": "项目配置文件",
  "packOptions": {
   
    "ignore": [],
    "include": []
  },
  "setting": {
   
    "urlCheck": true,
    "es6": true,
    "enhance": false,
    "postcss": true,
    "preloadBackgroundData": false,
    "minified": true,
    "newFeature": false,
    "coverView": true,
    "nodeModules": false,
    "autoAudits": false,
    "showShadowRootInWxmlPanel": true,
    "scopeDataCheck": false,
    "uglifyFileName": false,
    "checkInvalidKey": true,
    "checkSiteMap": true,
    "uploadWithSourceMap": true,
    "compileHotReLoad": false,
    "useMultiFrameRuntime": true,
    "useApiHook": true,
    "useApiHostProcess": true,
    "babelSetting": {
   
      "ignore": [],
      "disablePlugins": [],
      "outputPath": ""
    },
    "enableEngineNative": false,
    "bundle": false,
    "useIsolateContext": true,
    "useCompilerModule": true,
    "userConfirmedUseCompilerModuleSwitch": false,
    "userConfirmedBundleSwitch": false,
    "packNpmManually": false,
    "packNpmRelationList": [],
    "minifyWXSS": true,
    "condition": false
  },
  "compileType": "miniprogram",
  "libVersion": "2.25.3",
  "appid": "wx324c2513fd990469",
  "projectname": "miniprogram-1",
  "condition": {
   },
  "editorSetting": {
   
    "tabIndent": "insertSpaces",
    "tabSize": 2
  }
}
  • setiing 中保存了编译相关的配置
  • projectname 中保存的是项目名称
  • appid 中保存的是小程序的 账号ID
sitemap.json

sitemap.json 文件用来 配置小程序 页面 是否允许 微信索引。

小程序代码的构成 - WXML 模板
wxml 与 html 区别:
- 标签名称不同
  - HTML (div, span,img,a)
  - WXML  (view,text,image,navigator)
- 属性节点不同
  - <a href="#">超链接</a>
  - <navigator url="/pages/home/home"></navigator>
- 提供了类似于 Vue 中的模板语法
   - 数据绑定
   - 列表渲染
   - 条件渲染

小程序代码的构成 - WXSS 样式
wxss 与 css 的区别
  - 新增 rpx 尺寸单位
     - css 中 需要手动进行像素单位换算,例如 rem
     - wxss 在底层支持 新的尺寸单位 rpx,在不同大小的屏幕上小程序会自动进行换算
  - 提供了全局样式和局部样式
     - 项目根目录中的app.wxss 会 作用于所有小程序页面
     - 局部页面的 .wxss 样式仅对当前页面生效
  - wxss 仅支持部分 CSS 选择器
    - .class 和 #id
    - element
    - 并集选择器、后代选择器
    - ::after 和 ::before 等伪类选择器
小程序代码的构成 - JS 逻辑交互
小程序中 .js 文件的分类:
 - app.js
    - 是整个小程序项目的入口文件,通过调用 App() 函数来启动整个小程序
 - 页面的.js 文件
    - 是页面的入口文件,通过调用 Page() 函数 来创建并运行页面
 - 普通的.js 文件
    - 是普通的功能模块文件,用来封装 公共的函数或属性 供页面使用


小程序的宿主环境

宿主 环境 (host environment) 指的是程序运行所必须的依赖环境。

小程序的宿主环境:

  1. 通信模型

    小程序中通信的主体是 渲染层 和逻辑层:

    1. wxml 模板和 wxss 样式 工作在渲染层
    2. js 脚本工作在逻辑层

    小程序中的 通信模型 分为两部分:

    1. 渲染层和逻辑层 之间的通信
      • 由微信客户端进行转发
    2. 逻辑层和第三方服务器之间的通信
      • 由微信客户端进行转发
  2. 运行机制

  3. 组件

  4. API

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L6kKo4nV-1680514199806)(C:\Users\snr17\AppData\Roaming\Typora\typora-user-images\image-20230403172222925.png)]

小程序启动
  1. 把小程序的代码包下载到本地
  2. 解析 app.json 全局配置文件
  3. 执行 app.js 小程序入口文件,调用 App() 创建 小程序实例
  4. 渲染小程序首页
  5. 小程序启动完成
页面渲染
  1. 加载解析页面的 .json 配置文件
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值