从0到1之微信小程序快速入门(基础知识)

news2025/2/26 2:03:56

        

               目录

JSON 配置文件

WXML 模板

WXSS 样式

JS 逻辑交互


微信小程序中,每个页面由4 个基本文件组成,它们分别是:js文件(页面的脚本文件,存放页面的数据、事件处理函数等)、json文件(当前页面的配置文件,配置窗口的外观、表现等),.wxml 文件(页面的模板结构文件)和.wxss 文件(当前页面的样式表文件)。下面来详细介绍: 

JSON 配置文件

1.JSON 配置文件的作用

JSON 是一种数据格式,在实际开发中,JSON 总是以配置文件的形式出现。小程序项目中也不例外:通过不同

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

小程序项目中有4 种json 配置文件,分别是:

①项目根目录中的app.json 配置文件

②项目根目录中的project.config.json 配置文件

③项目根目录中的sitemap.json配置文件

④每个页面文件夹中的.json 配置文件

2. app.json 文件

app.json 是当前小程序的全局配置,包括了小程序的所有页面路径、窗口外观、界面表现、底部tab 等。Demo 项目里边的app.json 配置内容如下:

简单了解下这4 个配置项的作用:

①pages:用来记录当前小程序所有页面的路径

②window:全局定义小程序所有页面的背景色、文字颜色等

③style:全局定义小程序组件所使用的样式版本

④sitemapLocation:用来指明sitemap.json的位置。

3. project.config.json 文件

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

⚫setting中保存了编译相关的配置

⚫projectname中保存的是项目名称

⚫appid中保存的是小程序的账号ID

4.sitemap.json文件

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

        当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索关键字和页面的索引匹配成功的时候,小程序的页面将可能展示在搜索结果中。

注意:sitemap 的索引提示是默认开启的,如需要关闭sitemap 的索引提示,可在小程序项目配置文件project.config.json 的setting中配置字段checkSiteMap为false。

5. 页面的.json 配置文件

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

6. 新建小程序页面

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

7. 修改项目首页

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

WXML 模板

1. 什么是WXML

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

2. WXML 和HTML 的区别

①标签名称不同

⚫HTML (div, span, img, a)

⚫WXML(view, text, image, navigator)

②属性节点不同

<a href="#">超链接</a>
<navigator url="/pages/home/home"></navigator>

③提供了类似于Vue 中的模板语法

⚫数据绑定

⚫列表渲染

⚫条件渲染

WXSS 样式

1. 什么是WXSS

WXSS (WeiXin Style Sheets)是一套样式语言,用于描述WXML 的组件样式,类似于网页开发中的CSS。

2. WXSS 和CSS 的区别

①新增了rpx 尺寸单位

⚫CSS 中需要手动进行像素单位换算,例如rem

⚫WXSS 在底层支持新的尺寸单位rpx,在不同大小的屏幕上小程序会自动进行换算

②提供了全局的样式和局部样式

⚫项目根目录中的app.wxss 会作用于所有小程序页面

⚫局部页面的.wxss 样式仅对当前页面生效

③WXSS 仅支持部分CSS 选择器

⚫.class 和#id

⚫element

⚫并集选择器、后代选择器

⚫::after 和::before 等伪类选择器

JS 逻辑交互

1. 小程序中的.js 文件

一个项目仅仅提供界面展示是不够的,在小程序中,我们通过.js 文件来处理用户的操作。例如:响应用户的点击、获取用户的位置等等。

2. 小程序中.js 文件的分类

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

①app.js

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

②页面的.js 文件

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

③普通的.js 文件

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1148459.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++的OpenCV】第十四课-OpenCV基础强化(二):访问单通道Mat中的值之at()、ptr()、iscontinuous()

&#x1f389;&#x1f389;&#x1f389; 欢 迎 各 位 来 到 小 白 p i a o 的 学 习 空 间 &#xff01; \color{red}{欢迎各位来到小白piao的学习空间&#xff01;} 欢迎各位来到小白piao的学习空间&#xff01;&#x1f389;&#x1f389;&#x1f389; &#x1f496;&…

Python——新建工程/引入本地库

文章目录 前言一、创建项目及文件二、之前创建项目未勾选Inherit global site-packages三、缺少第三方库报错pywpswin32commarkupsafe前言 PyCharm是一种Python IDE(Integrated Development Environment,集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其…

【论文解读】单目3D目标检测 LPCG(ECCV 2022)

本文分享单目3D目标检测&#xff0c;LPCG模型的论文解读&#xff0c;了解它的设计思路&#xff0c;论文核心观点&#xff0c;模型结构&#xff0c;以及效果和性能。 目录 一、LPCG 简介 二、论文核心观点 三、思路框架 四、核心观点——单目3D目标检测的标签中&#xff0c;…

MySQL数据库 #5

文章目录 一、Python操作MySQL1.pymysql的基本操作2.pymysql补充说明1.查看补充2. 增删改&#xff0c;自动确认 3.SQL注入问题1.输入对的用户名就可登录2.输入错的用户名也可以登录针对上述的SQL注入问题&#xff0c;核心在于手动拼接了关键数据 二、视图1.什么是视图2. 为什么…

RPC与HTTP的关系

首选理清楚关系 RPC与HTTP是两个不同维度的东西 HTTP 协议&#xff08;Hyper Text Transfer Protocol&#xff09;&#xff0c;又叫做超文本传输协议&#xff0c;是一种传输协议&#xff0c;平时通过浏览器浏览网页网页&#xff0c;用到的就是 HTTP 协议。 而 RPC&#xff0…

全能数字音乐工作站(DAW)编曲FL Studio21.2.0官方中文版

FL Studio21.2.0官方中文版重磅发布纯正简体中文支持&#xff0c;更快捷的音频剪辑及素材管理器&#xff0c;多样主题随心换&#xff01;Mac版新增对苹果M2/1家族芯片原生支持。全能数字音乐工作站&#xff08;DAW&#xff09;编曲、剪辑、录音、混音&#xff0c;26余年的技术积…

LeetCode题:88合并两个有序数组,283移动零,448找到所有数组中消失的数字

目录 88合并两个有序数组 1、题目要求 2、解题思路 &#xff08;1&#xff09;、暴力解法&#xff1a; &#xff08;2&#xff09;、双指针&#xff0c;使用第三数组的解法&#xff1a; 3、代码展示 &#xff08;1&#xff09;、暴力解法&#xff1a; &#xff08;2&am…

ITSource 分享 第6期【网址云收藏系统】

项目介绍 本期给大家介绍一个 网址云收藏系统.。 你是否因为上网过程中收藏了很多网址找不到而发愁&#xff0c;如果浏览器没有登录账号开启同步的情况下&#xff0c;换个电脑&#xff0c;换个浏览器&#xff0c;以前收藏的网址就找不到了。 本期给大家推荐一个可以在线随时随地…

jmeter BeanShell预处理程序:报错Error invoking bsh method: eval...

1、jmeter运行报错&#xff1a; ERROR o.a.j.u.BeanShellInterpreter: Error invoking bsh method: eval In file: inline evaluation of: " . . . Encountered "" at line 13, column 23. WARN o.a.j.m.BeanShellPreProcessor: Problem in BeanShell scri…

[毕设记录]@学术技能积累:学位论文查询与下载

文章目录 ProQuest国外学位论文中国集团全文检索平台OATD.org&#xff08;Open Access Theses and Dissertations&#xff09;DART-EuropeTUDelft 在上一篇blog里面看的那些论文&#xff0c;感觉看起来收获太小了… 不如去看硕士或者博士的学位论文 于是我先去调研一下哪里方便…

如何将SAP数据集成到任意云平台

十年前就在使用SAP的客户询问我当时突然出现的新事物&#xff1a;大数据。五年前&#xff0c;变成了数据湖和机器学习。现在一切都是关于数据集成&#xff0c;当然还有人工智能。有时处理数据的基本方法已经改变或者发展。有时只是名字的改变。例如&#xff0c;在过去十年中&am…

测试大佬的压箱绝技:教你app 自动化测试如何实现多设备并发

appiumpython appiumpython 实现单设备的 app 自动化测试 启动 appium server&#xff0c;占用端口 4723 电脑与一个设备连接&#xff0c;通过 adb devices 获取已连接的设备 在 python 代码当中&#xff0c;编写启动参数&#xff0c;通过 pytest 编写测试用例&#xff0c;来…

代码审计-锐捷EG易网关 cli.php 远程命令执行

首先登录到后台中(可以组合 锐捷EG易网关 管理员账号密码泄露漏洞) 关键部分代码为 使用 exec 函数执行传递的命令 构造payload&#xff1a; /cli.php?ashell notdelaytrue&commandid漏洞证明&#xff1a; 文笔生疏&#xff0c;措辞浅薄&#xff0c;望各位大佬不吝赐教…

【C语言】内存的动态分配与释放

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C语言 ⚙️操作环境:Visual Studio 2022 ​ 目录 什么是内存的动态分配? 内存动态分配函数 &#x1f38f;malloc() &#x1f38f;calloc() &#x1f38f;realloc() 动态内存释放函数 &#x1f38f;free() 常见的…

轻量封装WebGPU渲染系统示例<5>-多重纹理(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/version-1.01/src/voxgpu/sample/MultiTexturedCube.ts 此示例渲染系统实现的特性: 1. 用户态与系统态隔离。 2. 高频调用与低频调用隔离。 3. 面向用户的易用性封装。 4. 渲染数据和渲染机制分离。 …

【2023Mathorcup大数据】B题 电商零售商家需求预测及库存优化问题 python代码解析

【2023Mathorcup大数据】B题 电商零售商家需求预测及库存优化问题 python代码解析 1 题目 2023 年MathorCup 高校数学建模挑战赛——大数据竞赛赛道B&#xff1a;电商零售商家需求预测及库存优化问题电商平台存在着上千个商家&#xff0c;他们会将商品货物放在电商配套的仓库…

ChineseChess1 2023.10.29

中国象棋残局 中国象棋残局模拟器ChineseChess1 2023.10.29 原来圈粉丝&#xff0c;钓鱼&#xff0c;只要不要脸就OK&#xff01;&#xff01;

洛谷趣题【过河卒】参考题解

背景 今天逛洛谷才注意到这道题&#xff0c;原题连接【P1002 [NOIP2002 普及组] 过河卒 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)】 对于爱下棋的我来说&#xff0c;当然是必刷之题。 题意 小卒起始点在左上角(0,0)处&#xff0c;我们的程序将接收两个坐标&#xff1…

解决历史图片创建时间错误(批量修改文件创建时间)

最近在整理历史文件&#xff0c;发现很多历史图片&#xff0c;截图&#xff0c;微信拍照等途径创建的图片没有创建时间和修改时间&#xff0c;导致在相册时间轴错误。集中出现在整理的当天。 这些图片基本在文件名都含有创建时间&#xff0c;大多格式如下&#xff1a; 对于其中…

集成Swagger

基于knife4j集成swagger 集成的步骤 1添加依赖 2配置包扫描 3给每个Controller配置API 4给每个方法&#xff08;接口&#xff09;配置入参、返回值的说明 5针对入参的实体、返回类型VO做配置 添加依赖 <dependency><groupId>com.github.xiaoymin</groupId…