当前位置: 首页 > news >正文

微信小程序开发 | 小程序开发框架

小程序开发框架

  • 7.1 小程序模块化开发
    • 7.1.1 模块
    • 7.1.2 模板
    • 7.1.3 自定义组件
    • 7.1.4插件
  • 7.2 小程序基础样式库—WeUI
    • 7.2.1 初识WeUI
    • 7.2.2【案例】电影信息展示
  • 7.3 使用vue.js开发小程序
    • 7.3.1 初识mpvue
    • 7.3.2 开发工具
    • 7.3.3 项目结构
    • 7.3.4【案例】计数器
  • 7.4 小程序组件化开发框架
    • 7.4.1初识WePY
    • 7.4.2 开发工具
    • 7.4.3 项目结构
    • 7.4.4【案例】商品展示
  • 总结

7.1 小程序模块化开发

7.1.1 模块

模块的定义和使用:
在这里插入图片描述
注意
path路径不可以使用绝对路径,否则会报错,应该使用相对路径。

7.1.2 模板

模板的定义和使用:
在这里插入图片描述
template组件is属性:
在这里插入图片描述
注意
模板拥有自己的作用域,只能使用data传入的数据以及模版定义文件中定义的 < wxs /> 模块。

7.1.3 自定义组件

自定义组件创建:
在这里插入图片描述

自定义组件结构和样式:
在这里插入图片描述

自定义组件使用:
在这里插入图片描述
在这里插入图片描述

自定义组件案例:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

效果:
在这里插入图片描述

7.1.4插件

打开微信开发者工具,创建一个插件项目:
在这里插入图片描述

在这里插入图片描述

插件配置文件:
在这里插入图片描述

插件使用配置过程:
在这里插入图片描述

在页面中使用插件:
在这里插入图片描述

7.2 小程序基础样式库—WeUI

7.2.1 初识WeUI

WeUI使用流程

  1. 下载WeUI
  2. 查看样式效果
  3. 引入样式文件
    在这里插入图片描述

7.2.2【案例】电影信息展示

WeUI中navbar实现导航栏效果:
在这里插入图片描述

正在热映页面效果图展示:
在这里插入图片描述

在这里插入图片描述

搜索页面效果展示:
在这里插入图片描述

搜索页面效果展示:
在这里插入图片描述

搜索页面效果展示:
在这里插入图片描述

分类页面效果展示:
在这里插入图片描述

在这里插入图片描述

7.3 使用vue.js开发小程序

7.3.1 初识mpvue

mpvue在技术开发上的一些能力

  • 彻底的组件化开发能力,提高代码复用性。
  • 完整的Vue.js开发体验。
  • 方便的Vuex数据管理方案,方便构建复杂应用。
  • 快捷的webpack构建机制。
  • 支持使用npm外部依赖。
  • 使用Vue.js命令行工具vue-cli快速初始化项目。
  • H5代码转换编译成小程序目标代码的能力。

7.3.2 开发工具

mpvue进行开发前的准备工作

  1. 检查开发环境。
  2. 安装vue-cli脚手架工具。
  3. 初始化微信小程序项目。
  4. 安装依赖。
  5. 启动项目。
  6. 预览小程序。
    在这里插入图片描述

7.3.3 项目结构

查看项目目录结构

  • dist:小程序运行代码目录。
  • src:源代码目录。
    • src/components:组件目录。
    • src/pages:页面目录。
    • src/App.vue:主组件。
    • src/app.json:小程序配置文件。
    • src/main.js:入口文件。
  • package.json:依赖配置文件。
  • config:配置文件。
  • project.config.json:项目配置文件。
    在这里插入图片描述

7.3.4【案例】计数器

计数器效果展示图

  1. 启动firstapp小程序
  2. 单击“去往Vuex示例页面”
  3. 单击页面“+”和“-”
    在这里插入图片描述

注意
需要注意的是,微信开发者工具会提示不支持打开此类文件,此时可以更换其他代码编辑器(如Sublime Text)来打开。

计数器代码实现:
在这里插入图片描述
计数器功能实现流程

  1. 在vuex中记录state下的count值;
  2. moutations中注册increment和decrement事件;
  3. 组件绑定increment和decrement事件处理函数;
  4. 通过computed属性将最终值展示到页面;

7.4 小程序组件化开发框架

7.4.1初识WePY

WePY框架特征

  • 类Vue开发风格;
  • 支持自定义组件开发;
  • 支持引入npm包;
  • 支持Promise;
  • 支持ES2015+特性;
  • 支持多种编译器;
  • 支持多种插件处理;
  • 支持 Sourcemap,ESLint等;
  • 小程序细节优化;

7.4.2 开发工具

WePY框架开发微信小程序前的准备工作:

  • 检查开发环境。
  • 安装wepy-cli。
  • 生成Demo项目。
  • 安装依赖。
  • 开启实时编译
  • 创建wepy小程序
    在这里插入图片描述

预览WePY小程序Demo案例项目:
在这里插入图片描述

7.4.3 项目结构

WePY项目目录介绍

  • dist:小程序运行代码目录。
  • src:源代码目录。
  • package.json:依赖配置文件。
  • wepy.config.js:WePY配置文件。
  • project.config.json:项目配置文件。
  • components:WePY组件目录。
  • pages:WePY页面目录。
  • index.wpy: index页面。
  • app.wpy:入口文件。

WePY项目结构图:
在这里插入图片描述
WePY项目目录app.wpy入口文件:
在这里插入图片描述

WePY项目目录首页index.wpy页面:

在这里插入图片描述

页面继承了wepy.page类,其中Page实例的属性:
在这里插入图片描述

7.4.4【案例】商品展示

WePY框架搭建小程序效果展示图:
在这里插入图片描述
注意
需要在配置完成的框架进行代码编写和编译。
创建index.wpy文件,template组件使用:
在这里插入图片描述

创建index.wpy文件,style标签区域编写样式代码:
在这里插入图片描述

创建index.wpy文件,script区域编写js代码:
在这里插入图片描述

总结

本章主要讲解了小程序的模块化开发和各种框架的使用。通过本章的学习,读者应掌握如何在小程序中进行模块化开发,提高代码的可复用性;了解小程序开发中常用的一些框架和库的特点,熟悉WeUI库、mpvue框架、WePY框架的基本使用。

相关文章:

微信小程序开发 | 小程序开发框架

小程序开发框架7.1 小程序模块化开发7.1.1 模块7.1.2 模板7.1.3 自定义组件7.1.4插件7.2 小程序基础样式库—WeUI7.2.1 初识WeUI7.2.2【案例】电影信息展示7.3 使用vue.js开发小程序7.3.1 初识mpvue7.3.2 开发工具7.3.3 项目结构7.3.4【案例】计数器7.4 小程序组件化开发框架7.…...

气候系统设计

基础概念 一个星球&#xff08;例如地球&#xff09;的气候系统主要是一些基本参数基于公转周期&#xff08;年&#xff09;和自转周期&#xff08;日&#xff09;的变化&#xff0c;这其中会有两个变化因素&#xff1a;地理位置&#xff08;经纬度&#xff09;和天气变化&…...

如何使用Thymeleaf给web项目中的网页渲染显示动态数据?

编译软件&#xff1a;IntelliJ IDEA 2019.2.4 x64 操作系统&#xff1a;win10 x64 位 家庭版 服务器软件&#xff1a;apache-tomcat-8.5.27 目录一. 什么是Thymeleaf&#xff1f;二. MVC2.1 为什么需要MVC&#xff1f;2.2 MVC是什么&#xff1f;2.3 MVC和三层架构之间的关系及工…...

01 | 电机常用语

1 电机常用术语 1.1 原点 原点是指步进电机在驱动直线运动机构时的起始点。 1.2 点动 点动是电动机控制方式中的一种。 点动由于在这一控制回路中没有自保,也没有并接其它的自动装置,只是按下控制回路的启动按钮,主回路才通电,松开启动按钮,主回路就没电了。最典型的是…...

Leetcode.2601 质数减法运算

题目链接 Leetcode.2601 质数减法运算 Rating &#xff1a; 1779 题目描述 给你一个下标从 0 开始的整数数组 nums&#xff0c;数组长度为 n 。 你可以执行无限次下述运算&#xff1a; 选择一个之前未选过的下标 i &#xff0c;并选择一个 严格小于 nums[i]的质数 ppp &…...

DP7416国产192K数字音频接收芯片兼容替代CS8416

目录192K 数字音频应用DP7416简介芯片特性192K 数字音频应用 采样率192khz&#xff0c;能将192,000hz以下的频率都录下来&#xff0c;而且对声波每秒连续采样192,000次。在回放的时候&#xff0c;这192,000个采样点按顺序播放&#xff0c;从而还原原来的声音。   过采样技术除…...

全球土壤湿度数据获取方法

土壤湿度亦称土壤含水率&#xff0c;表示土壤干湿程度的物理量。是土壤含水量的一种相对变量。通常用土壤含水量占干土重的百分数是示&#xff0c;亦称土壤质量湿度&#xff0c;如用土壤水分容积占土壤总容积的百分数表示&#xff0c;则称土壤容积湿度。通常说的土壤湿度&#…...

在proteus中仿真arduino实现矩阵键盘程序

矩阵键盘是可以解决我们端口缺乏的问题&#xff0c;当然&#xff0c;如果我们使用芯片来实现矩阵键盘的输入端口缺乏的问题将更加划算了&#xff0c;本文暂时不使用芯片来解决问题&#xff0c;而使用纯朴的8根线来实现矩阵键盘&#xff0c;目的是使初学者掌握原理。想了解使用芯…...

【ROS2指南-5】理解ROS2服务

目标&#xff1a;使用命令行工具了解 ROS 2 中的服务。 教程级别&#xff1a;初学者 时间&#xff1a; 10分钟 内容 背景 先决条件 任务 1 设置 2 ros2服务列表 3 ros2服务类型 4 ros2 服务查找 5 ros2界面展示 6 ros2 服务调用 概括 下一步 相关内容 背景 服务是 …...

探索Apache Hudi核心概念 (3) - Compaction

Compaction是MOR表的一项核心机制&#xff0c;Hudi利用Compaction将MOR表产生的Log File合并到新的Base File中。本文我们会通过Notebook介绍并演示Compaction的运行机制&#xff0c;帮助您理解其工作原理和相关配置。 1. 运行 Notebook 本文使用的Notebook是&#xff1a;《A…...

100Wqps异地多活,得物是怎么架构的?

说在前面 在40岁老架构师尼恩的数千读者群中&#xff0c;一直在指导大家简历和职业升级&#xff0c;前几天&#xff0c;指导了一个华为老伙伴的简历&#xff0c;小伙伴的优势在异地多活&#xff0c;但是在简历指导的过程中&#xff0c;尼恩发现&#xff1a; 异地多活的概念、异…...

35岁的测试工程师被公司强行辞退,感叹道:我以前就该好好努力了

曾经的高薪软件测试工程师&#xff0c;今年35岁了&#xff0c;被公司劝退了&#xff0c;外卖跑到凌晨&#xff0c;很累&#xff0c;但还是有一种想诉说的冲动。哪怕让大家觉得已经说得太多了&#xff0c;烦了&#xff0c;都成祥林嫂了&#xff0c;但是&#xff0c;我是真的想说…...

ASP.NET动态Web开发技术第5章

第5章数据验证一.预习笔记 1.验证控件概述&#xff1a; 2.RequiredFieldValidator&#xff08;必填验证&#xff09; 常用属性1&#xff1a;ControlToValidator:被验证的输入控件的ID 常用属性2&#xff1a;Text&#xff1a;验证失败时&#xff0c;验证控件显示的文本 常用…...

【数据结构与算法篇】时间复杂度与空间复杂度

目录 一、数据结构和算法 1.什么是数据结构&#xff1f; 2.什么是算法&#xff1f; 3.数据结构和算法的重要性 二、算法的时间复杂度和空间复杂度 1.算法效率 2.算法的复杂度 3.复杂度在校招中的考察 4.时间复杂度 5.空间复杂度 6.常见复杂度对比 7.复杂度的OJ练…...

HTTP API接口设计规范

1. 所有请求使用POST方法 使用post&#xff0c;相对于get的query string&#xff0c;可以支持复杂类型的请求参数。例如日常项目中碰到get请求参数为数组类型的情况。 便于对请求和响应统一做签名、加密、日志等处理 2. URL规则 URL中只能含有英文&#xff0c;使用英文单词或…...

数据一致性校验(pt-table-checksum)

介绍 pt-table-checksum 和 pt-table-sync 是 percona 公司发布的、检查 MySQL 主从数据库数据一致性校验的工具。pt-table-checksum 利用 MySQL 复制原理&#xff0c;在主库执行校验和计算&#xff0c;并对比主从库校验和&#xff0c;由此判断主从库数据是否一致。如果发现数…...

Talk预告 | 新加坡国立大学郑奘巍 AAAI‘23 杰出论文:大批量学习算法加速推荐系统训练

本期为TechBeat人工智能社区第486期线上Talk&#xff01; 北京时间3月30日(周四)20:00&#xff0c;新加坡国立大学二年级博士生——郑奘巍的Talk将准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “大批量学习算法加速推荐系统训练”&#xff0c;届时将分…...

肖 sir_就业课__004项目流程(H模型)

项目流程&#xff1a; 一、面试提问&#xff08;h模型&#xff09; 1、你说下你们公司测试流程&#xff1f; 2、给你一个需求你会怎么做? 3、你讲下你的工作&#xff1f; 4、谈谈你是如何去测试&#xff1f; 答案&#xff1a;h模型 要求第一人称来写 讲解简化文字流程&#x…...

snipaste 截图工具——可以使图片悬浮在任何软件上,方便对比

一、下载 官网下载地址&#xff1a;Snipaste Downloads &#xff08;需要梯子&#xff09; CSDN下载地址&#xff1a;https://download.csdn.net/download/weixin_43042683/87671809 1. 下载 压缩包后&#xff0c;免安装&#xff0c;直接解压后既可以使用。 2. 点击Snipaste.…...

Docker 快速部署Springboot项目

编写Dockerfile文件 # Docker image for springboot file run # VERSION 0.0.1 # Author: # 基础镜像使用java FROM openjdk:8 # 作者 MAINTAINER laihx # VOLUME 指定了临时文件目录为/tmp。 # 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件&#xff0c;并链接到…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 &#xff1a;开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置&#xff0c;将微信开发者工具放入到Hbuilder中&#xff0c; 打开后出现 如下 bug 解…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...

Qt的学习(二)

1. 创建Hello Word 两种方式&#xff0c;实现helloworld&#xff1a; 1.通过图形化的方式&#xff0c;在界面上创建出一个控件&#xff0c;显示helloworld 2.通过纯代码的方式&#xff0c;通过编写代码&#xff0c;在界面上创建控件&#xff0c; 显示hello world&#xff1b; …...