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

【微信小程序】开发环境配置

目录

小程序的标准开发模式:

注册小程序的开发账号

安装开发者工具

下载

设置外观和代理

第一个小程序 -- 创建小程序项目 

查看项目效果 

第一种:在模拟器上查看项目效果 

项目的基本组成结构

小程序代码的构成

app.json文件

project.config.json 文件

sitemap.json文件

页面的 .json 配置文件

新建小程序页面

修改项目首页 

WXML模板

WXSS样式

JS逻辑交互

宿主环境

什么是宿主环境

小程序宿主环境包含的内容

1.通信的主体

运行机制 

小程序的启动过程

页面渲染过程


小程序的标准开发模式:

  • 申请小程序开发账号
  • 安装小程序开发者工具
  • 创建和配置小程序项目

注册小程序的开发账号

访问下述网址

微信公众平台 (qq.com)icon-default.png?t=N7T8https://mp.weixin.qq.com/点击右上角的 立即注册

选择账户类型  -小程序

填写个人信息

进入邮箱 激活账号以后,即可开始。

获取小程序AppID

在小程序开发后台,选择开发设置

创建小程序项目的时候,需要要到类似下面这种AppID

安装开发者工具

微信开发者工具是官方推荐使用的小程序开发工具,他提供的主要功能如下:

  1. 快速创建小程序项目
  2. 代码的查看和编辑
  3. 对小程序功能进行调试
  4. 小程序的预览和发布 

下载

下载页面的链接如下:

下载 / 稳定版更新日志 (qq.com)icon-default.png?t=N7T8https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html选择下载版本

运行exe文件,完成安装


 安装完成后,打开开发者工具,如上所示,使用微信扫码登录

设置外观和代理

选择右上角设置

选择外观

第一个小程序 -- 创建小程序项目 

点击 “+” 按钮 

填写AppID

后端服务选择 “不使用云服务”

模板使用js

查看项目效果 

查看项目效果有两种方法

第一种:在模拟器上查看项目效果 

点击编译按钮后,左侧会显示最新的项目效果

第二种:点击 预览 按钮 ,手机扫码查看项目效果

项目的基本组成结构

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

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

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

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

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

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

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

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

其中,每个页面由4个基本文件组成,他们分别是:

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

小程序代码的构成

JSON配置文件的作用

在小程序项目中,通过不同的.json配置文件,可以对小程序项目进行不同级别的配置

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

  • 项目根目录中的 app.json 配置文件
  • 项目根目录中的 project.config.json 配置文件
  • 项目根目录中的 sitemap.json 配置文件
  • 每个页面文件夹中的 .json 配置文件

app.json文件

这四个配置项的作用:

  1. pages:用来记录当前 小程序所有页面的路径
  2. window:全局定义小程序所有页面的背景色、文字颜色等
  3. style:全局定义小程序组件所使用的样式版本
  4. sitemapLocation:用来指明sitemap.json 的位置

project.config.json 文件

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

  • setting中保存编译相关的配置
  • projectname 中保存的是项目名称
  • appid 中保存的是小程序的账号ID

sitemap.json文件

微信现已开发小程序内搜索,效果类似于PC网页 的SEO,sitemap.json 文件用来配置小程序页面是否允许微信索引

  • allow 允许微信索引
  • disallow 不允许微信索引 

页面的 .json 配置文件

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

新建小程序页面

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

修改项目首页 

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

WXML模板

什么是WXML,是小程序框架设计的一套标签语言,用来构建小程序页面的结构,其作用类似于网页开发中的HTML

WXSS样式

什么是WXSS,WXSS是一套样式语言,用于描述WXML的组件样式,类似于网页开发中的CSS

JS逻辑交互

 小程序中 .js 文件的分类

小程序中的 JS 文件分为三大类,分别是:

app.js

  • 是整个小程序项目的入口文件,通过调用App()函数来启动整个小程序

页面的 .js 文件

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

普通的 .js 文件

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

宿主环境

什么是宿主环境

宿主环境指的是程序运行所必须依赖的环境,例如Android系统和IOS系统是两个不同的宿主环境

小程序宿主环境包含的内容

  1. 通信模型
  2. 运行机制
  3. 组件
  4. API

1.通信的主体

小程序中通信的主题是渲染层和逻辑层,其中

  • WXML模板和WXSS样式工作在渲染层
  • JS脚本工作在逻辑层

运行机制 

小程序的启动过程

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

页面渲染过程

  1. 加载解析页面的 .json 配置文件
  2.  加载页面的 .wxml模板和 .wxss 样式
  3. 执行页面的 .js 文件,调用Page()创建页面实例
  4. 页面渲染完成

相关文章:

【微信小程序】开发环境配置

目录 小程序的标准开发模式: 注册小程序的开发账号 安装开发者工具 下载 设置外观和代理 第一个小程序 -- 创建小程序项目 查看项目效果 第一种:在模拟器上查看项目效果 项目的基本组成结构 小程序代码的构成 app.json文件 project.config…...

启动盘镜像制作神器(下载即用)

一、简介 1、一款受欢迎且功能强大的USB启动盘制作工具,允许用户将操作系统镜像文件(如Windows或Linux的ISO文件)制作成可引导的USB启动盘。它支持多种操作系统,包括Windows、Linux和各种基于UEFI的系统。Rufus的一个显著特点是制作速度快,据称其速度比其他常用工具如UNet…...

PHP框架详解 - Symfony框架

引言 在现代Web开发中,PHP作为一种灵活且功能强大的编程语言,广泛应用于各种Web应用程序的开发中。为了提高开发效率、代码的可维护性和可扩展性,开发者通常会选择使用框架来构建应用程序。在众多PHP框架中,Symfony以其强大的功能…...

鸿蒙开发:【线程模型】

线程模型 线程类型 Stage模型下的线程主要有如下三类: 主线程 执行UI绘制。管理主线程的ArkTS引擎实例,使多个UIAbility组件能够运行在其之上。管理其他线程的ArkTS引擎实例,例如使用TaskPool(任务池)创建任务或取消…...

初级网络工程师之从入门到入狱(三)

本文是我在学习过程中记录学习的点点滴滴,目的是为了学完之后巩固一下顺便也和大家分享一下,日后忘记了也可以方便快速的复习。 中小型网络系统综合实战实验 前言一、详细拓扑图二、LSW2交换机三、LSW3交换机四、LSW1三层交换机4.1、4.2、4.3、4.4、4.5、…...

【数据结构】排序(直接插入、折半插入、希尔排序、快排、冒泡、选择、堆排序、归并排序、基数排序)

目录 排序一、插入排序1.直接插入排序2.折半插入排序3.希尔排序 二、交换排序1.快速排序2.冒泡排序 三、选择排序1. 简单选择排序2. 堆排序3. 树排序 四、归并排序(2-路归并排序)五、基数排序1. 桶排序(适合元素关键字值集合并不大)2. 基数排序基数排序的…...

MongoDB ObjectId 详解

MongoDB ObjectId 详解 MongoDB 是一个流行的 NoSQL 数据库,它使用 ObjectId 作为文档的唯一标识符。ObjectId 是一个 12 字节的 BSON 类型,它在 MongoDB 中用于保证每个文档的唯一性。本文将详细解释 ObjectId 的结构、生成方式以及它在 MongoDB 中的应用。 ObjectId 的结…...

大数据-11-案例演习-淘宝双11数据分析与预测 (期末问题)

目录 第一部分 Hadoop是什么 官方解释: 个人总结 HDFS 是什么? 官方解释: 个人总结 yarn是什么? 官方解释: 个人总结 mapreduce,spark 是什么? 官方解释: MapReduce Spark 个人总结 MapReduce Spa…...

Kubernetes集群监控,kube-prometheus安装教程,一键部署

Kube-prometheus介绍 Kube-prometheus 是一个用于监控 Kubernetes 集群的完整解决方案。它基于 Prometheus 生态系统,提供了一整套预配置的组件和配置文件,以便轻松地在 Kubernetes 上部署和运行 Prometheus 监控系统。 Kube-prometheus 主要包括以下组…...

【Gradio】快速入门

https://www.gradio.app/ Gradio 是一个开源 Python 软件包https://github.com/gradio-app/gradio ,可以让你快速为机器学习模型、API 或任何任意 Python 函数创建一个演示或网络应用程序。然后,您就可以使用 Gradio 内置的分享功能,在几秒钟…...

深度学习Day-19:DenseNet算法实战与解析

🍨 本文为:[🔗365天深度学习训练营] 中的学习记录博客 🍖 原作者:[K同学啊 | 接辅导、项目定制] 要求: 根据 Pytorch 代码,编写出 TensorFlow 代码研究 DenseNet 与 ResNetV 的区别改进思路是…...

基于openssl实现AES ECB加解密

AES加密,全称高级加密标准(Advanced Encryption Standard),是一种广泛使用的对称加密算法,用于保护电子数据的安全。以下是AES加密的基本原理和特点: 基本概念 对称加密:AES是一种对称加密算法…...

Git:从配置到合并冲突

目录 1.前言 2.Git的下载与初始化配置 3.Git中新建仓库 4.Git的工作区域和文件状态 5.Git中查看操作和提交记录 6.Git中添加和提交文件 7.Git中回退提交版本 8.Git中查看版本间的差异 9.Git中删除文件 10.Git中忽略指定文件 11.Git中配置SSH密钥 12.Git中关联克隆仓库 13.Git中…...

leetcode hot100 之 最长公共子序列

题目 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(…...

短剧APP开发,新的“财富”

在数字化时代,开发短剧APP不仅是顺应潮流的必然选择,更是抓住市场机遇的关键所在。为确保短剧APP能有效地吸引并留住用户,以下是一些主要功能及其介绍: 1、短剧搜索 关键词搜索:用户可以通过输入关键词(如…...

Uniapp与第三方应用数据通讯

首先说明一点,这个只是uniapp代码编写的应用之间相互传递数据,uniapp编写的与其他语言编写的我尚不知道能不能传递。 应用1: plus.runtime.launchApplication({pname: "应用的appid",// extra 中可以自定数据,url和da…...

AI大模型战场:通用大模型与垂直大模型的角逐

随着人工智能技术的迅猛发展,AI大模型已成为推动科技进步的重要力量。然而,在AI大模型的战场上,通用大模型与垂直大模型之间的分化日益明显。两者各有其独特的优势和潜力,在不同的应用场景中发挥着重要作用。那么,在这…...

linux的一些知识点分享-------关于操作维护的一些知识点

Apache服务器的监听端口,默认为() Apache服务器的监听端口,默认为80。 vsftpd中,可以不需提供账号密码就能进行访问的用户是( ) 在vsftpd(Very Secure FTP Daemon)中,可以不需要提供账号密码就能进行访问的用户通常是匿名用户。…...

Python使用tkinter库设置背景图片、label显示位置和label设置显示图片

tkinter 设置背景图片 label显示位置 label设置显示图片 from tkinter import * import tkinter as tk from PIL import ImageTk from PIL import Imagedef get_img(filename, width, height):im Image.open(filename).resize((width, height))im ImageTk.PhotoImage(im)…...

OpenStack是什么?

OpenStack是一个开源的云计算管理平台项目,它是一系列软件开源项目的组合。该项目由美国国家航空航天局(NASA)和Rackspace合作研发并发起,旨在提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack不仅是一个软…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

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

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

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

SpringAI实战:ChatModel智能对话全解

一、引言&#xff1a;Spring AI 与 Chat Model 的核心价值 &#x1f680; 在 Java 生态中集成大模型能力&#xff0c;Spring AI 提供了高效的解决方案 &#x1f916;。其中 Chat Model 作为核心交互组件&#xff0c;通过标准化接口简化了与大语言模型&#xff08;LLM&#xff0…...

深入浅出WebGL:在浏览器中解锁3D世界的魔法钥匙

WebGL&#xff1a;在浏览器中解锁3D世界的魔法钥匙 引言&#xff1a;网页的边界正在消失 在数字化浪潮的推动下&#xff0c;网页早已不再是静态信息的展示窗口。如今&#xff0c;我们可以在浏览器中体验逼真的3D游戏、交互式数据可视化、虚拟实验室&#xff0c;甚至沉浸式的V…...

React父子组件通信:Props怎么用?如何从父组件向子组件传递数据?

系列回顾&#xff1a; 在上一篇《React核心概念&#xff1a;State是什么&#xff1f;》中&#xff0c;我们学习了如何使用useState让一个组件拥有自己的内部数据&#xff08;State&#xff09;&#xff0c;并通过一个计数器案例&#xff0c;实现了组件的自我更新。这很棒&#…...

【Vue】scoped+组件通信+props校验

【scoped作用及原理】 【作用】 默认写在组件中style的样式会全局生效, 因此很容易造成多个组件之间的样式冲突问题 故而可以给组件加上scoped 属性&#xff0c; 令样式只作用于当前组件的标签 作用&#xff1a;防止不同vue组件样式污染 【原理】 给组件加上scoped 属性后…...