【b站计算机拓荒者】【2025】微信小程序开发教程 - chapter1 初识小程序 - 3项目目录结构4快速上手
3 项目目录结构
3.1 项目目录结构
3.1.1 目录介绍
# 1 项目主配置文件,在项目根路径下,控制整个项目的-app.js # 小程序入口文件,小程序启动,会执行此js-app.json # 小程序全局配置文件,配置小程序导航栏颜色等信息-app.wxss # 小程序全局样式-app.js和app.json必须存在# 2 页面文件-pages文件夹内,有一个个文件夹(index,login,register)--> 每个文件夹下有4个文件,-xx.js # 页面逻辑:js代码控制-xx.wxml # 页面结构/布局,html === wxml,部分标签不一样-xx.json # 页面配置,当前页面导航栏颜色等-xx.wxss # 页面样式,当前页面的样式,当前页面样式优先级高于小程序全局样式-xx.js和xx.wxml必须存在# 3 其他非重点-components 页面会用到的组件,每个组件放到一个文件夹内,每个文件夹内有4个文件-xx.js-xx.wxml-xx.json-xx.wxss-exlintrc.js 语法检查,不用项目配置,基础配置,整个项目存放位置,是否开启https-project.config.json 开发者工具默认配置-project.private.config.json 开发者工具用户配置,优先用这个,可以删除-sitemap.json 页面抓取相关,搜索优化,上线后他人通过哪些关键字搜索到小程序
3.1.2 配置文件
3.1.2.1 项目配置app.json
# 1 小程序全局配置文件,用于配置小程序的一些全局属性和页面路由,默认标题以及导航栏颜色,是否下拉刷新等# 2 配置参考地址
https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html# 3 部分配置
属性 类型 必填 描述 最低版本
entryPagePath string 否 小程序默认启动首页
pages:页面路径列表
window:全局的默认窗口表现:顶部颜色,是否有下拉,经常用到
3.1.2.2 页面配置xx.json
# 1 小程序页面配置文件,也称局部配置文件,用于配置当前页面的窗口样式、页面标题等# 2 app.json的部分配置,也支持对单个页面进行配置,可以在页面对应的 xx.json文件来对本页面的表现进行配置,即第3点# 3 页面中配置项在当前页面会覆盖app.json中相同的配置项(样式相关的配置项属于app.json中的window属性,但这里不需要额外指定window字段),具体的取值和含义可参考全局配置文档说明# 4 参考文档
https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/page.html# 5 常用配置
navigationBarBackgroundColor # 导航栏背景颜色,如 #000000
navigationBarTextStyle # 导航栏标题、状态栏颜色,仅支持 black / white
navigationBarTitleText # 导航栏标题文字内容
3.1.2.3 工程配置
# 1 project.config.json project.private.config.json
# 2 小程序项目配置文件,用于保存项目的一些配置信息和开发者的个人设置
# 3 参考文档
https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html
project.config.json的配置与详情里的本地设置是联动的。
调试基础库
3.1.2.4 搜索seo相关配置
# 1 作用
微信现已开放小程序内搜索,开发者可以通过 sitemap.json 配置,或者管理后台页面收录开关来配置其小程序页面是否允许微信索引。当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索词条触发该索引时,小程序的页面将可能展示在搜索结果中。 爬虫访问小程序内页面时,会携带特定的 user-agent:mpcrawler 及场景值:1129。需要注意的是,若小程序爬虫发现的页面数据和真实用户的呈现不一致,那么该页面将不会进入索引中。# 2 参考文档
https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html# 3 配置 -->用户搜索小程序,任意页面有关键字,都会被搜索到
{"desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html","rules": [{"action": "allow","page": "*"}]
}
3.2 webview渲染
3.2.1 webview与skyline模式
# 1 webview模式:老一点,稳定,支持新老版本
# 2 skyline模式:新一点,不支持老版本,不太稳定# 3 调整成webview模式更加稳定一些# 4 项目配置 --> app.json
app.json删除以下配置
3.3 新建页面
# 1 app.json只有一个页面 === 小程序只有一个页面-后期增加页面# 2 增加页面方式一1 pages右键 --> 新建文件夹2 新建的文件夹右键 新建page3 生成4个文件,分别是xx.js,xx.wxml,xx.json,xx.wxss# 3 增加页面方式二1 app.json pages中,新增一行2 自动创建文件夹和页面
增加页面方式一
输入page名,会生成四个文件
同时app.json会多出一行login内容
增加页面方式二
3.4 启动页面调整
# 1 修改默认启动页面
## 方式1 在app.json的pages修改顺序,第一个即默认启动页面
{"pages": ["pages/login/login","pages/index/index","pages/register/register"],
}## 方式2 通过entryPagePath配置 --- 较多
{"entryPagePath": "pages/index/index",
}## 方式3:临时用 -添加编译模式,使用较少
方式1 pages
方式2
entryPagePath
方式3 添加编译模式
3.5 调试小程序
3.5.1 调试小程序基础库
# 微信小程序基础库,一直在版本升级-转发功能-发送朋友圈-等等# 不同功能是在不同版本加入的-假设基于老版本开发,那么某些功能可能不存在-开发时,如果没有,写了无效,应确认基础库是否支持此功能-参考文档,https://developers.weixin.qq.com/miniprogram/dev/framework/client-lib/version.html
如果基础库低于1.2.0,即无此转发功能
基础库版本
3.5.2 调试窗口
调试器
3.5.3 真机调试
# 刚才说的都是模拟器调试
# 真机调试 - 微信调试-扫描真机调试二维码,出现vconsole# 自动真机调试-扫码登录会自动连接手机
自动真机调试
也有vconsole
3.6 纯净项目
# 纯净模式,删除项目不需要的东西,只留核心 --> 开发
## 删除components
## 删除pages,除index之外的pages
## 删除exlintrs.js,project.config.json,project.private.config.json,sitemap.json(配置文件删除会有默认配置)# app.json
{"pages": ["pages/index/index"],"window": {"navigationBarTitleText": "功能演示","navigationBarBackgroundColor": "#0000ff","enablePullDownRefresh": false,"backgroundColor": "#00ffff","backgroundTextStyle":"dark"},"style": "v2"
}# app.wxss# app.jsApp({})# pages/index
## index.jsPage({})
## index.wxml<view class="container">吴磊吴磊</view>
## index.wxss
## index.json{"usingComponents": {},"navigationBarTitleText": "功能演示index","navigationBarBackgroundColor": "#ffff00","enablePullDownRefresh": true,"backgroundColor": "#00ffff","backgroundTextStyle":"light"}
### index.json的配置优先app.json# 提示,如果代码修改没有效果,清除全部缓存
# json文件不能有注释
4 快速上手
4.1 小程序常用组件
# 1 做过htmla标签div标签spanimg# 2 小程序没有以上html标签,自己封装的是组件-https://developers.weixin.qq.com/miniprogram/dev/component/# 3 text 类似span,不换行,显示文字-https://developers.weixin.qq.com/miniprogram/dev/component/text.html
# 4 view 类似div,换行,可显示任何内容-https://developers.weixin.qq.com/miniprogram/dev/component/view.html
# 5 image 类似img src填图片位置,style设置图片宽高-https://developers.weixin.qq.com/miniprogram/dev/component/image.htmlstyle="height: 30px; width:70px;"src="/images/b.png" images前的/表示当前项目的路径
# 6 swipe,轮播图组件
# 7 icon,图标组件- <icon color="red" type="success" size="93"></icon>
4.2 tabbar配置
# 底部或顶部的tab页-几乎所有小程序都会有tabbar,一般在底部位置# 如何设置1 在app.json配置"tabBar":{"selectedColor": "#b4282d","position": "bottom","list":[{"pagePath": "pages/index/index","text": "首页","iconPath": "images/两狗对视.jpg","selectedIconPath": "images/可爱柯基.jpg"},{"pagePath": "pages/my/my","text": "我的","iconPath": "images/猫猫吃鱼.jpg","selectedIconPath": "images/蓝金渐层.jpg"}]},
效果
相关文章:

【b站计算机拓荒者】【2025】微信小程序开发教程 - chapter1 初识小程序 - 3项目目录结构4快速上手
3 项目目录结构 3.1 项目目录结构 3.1.1 目录介绍 # 1 项目主配置文件,在项目根路径下,控制整个项目的-app.js # 小程序入口文件,小程序启动,会执行此js-app.json # 小程序全局配置文件,配置小程序导航栏颜色等信息…...

LLM Tuning
Lora-Tuning 什么是Lora微调? LoRA(Low-Rank Adaptation) 是一种参数高效微调方法(PEFT, Parameter-Efficient Fine-Tuning),它通过引入低秩矩阵到预训练模型的权重变换中,实现无需大规模修改…...

云计算与大数据进阶 | 28、存储系统如何突破容量天花板?可扩展架构的核心技术与实践—— 分布式、弹性扩展、高可用的底层逻辑(下)
在上篇中,我们围绕存储系统可扩展架构详细探讨了基础技术原理与典型实践。然而,在实际应用场景中,存储系统面临的挑战远不止于此。随着数据规模呈指数级增长,业务需求日益复杂多变,存储系统还需不断优化升级࿰…...
SQL每日一练(3)
前言: 难得看到了套好题,没考我,呜呜,今日第三更! 原始表(ai生成) 1. 销售表(sales) 用途:记录每笔销售的产品 ID 及金额。 product_id(产品 …...
Axure高级交互设计:中继器嵌套动态面板实现超强体验感台账
亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢!如有帮助请订阅专栏! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 课程主题:中继器嵌套动态面板 主要内容:中继器内部嵌套动态面板,实现可移动式台账,增强数据表现…...

水利数据采集MCU水资源的智能守护者
水利数据采集仪MCU,堪称水资源的智能守护者,其重要性不言而喻。在水利工程建设和水资源管理领域,MCU数据采集仪扮演着不可或缺的角色。它通过高精度的传感器和先进的微控制器技术,实时监测和采集水流量、水位、水质等关键数据&…...
函数式编程思想详解
函数式编程思想详解 1. 核心概念 不可变数据 (Immutable Data) 数据一旦创建,不可修改。任何操作均生成新数据,而非修改原数据。 优点:避免副作用,提升并发安全,简化调试。 Java实现:使用final字段、不可变…...
SAP全面转向AI战略,S/4HANA悄然隐身
在2025年SAP Sapphire大会上,SAP首席执行官Christian Klein提出了一个雄心勃勃的愿景:让人工智能(AI)无处不在,推动企业数字化转型。SAP的AI战略核心是将AI深度融入其业务应用生态,包括推出全新版本的AI助手…...

origin绘图之【如何将横坐标/x设置为文字、字母形式】
在使用 Origin 进行科研绘图或数据可视化的过程中,我们常常会遇到这样一种需求:希望将横坐标(X轴)由默认的数字形式,改为字母(如 A、B、C……)或中文文字(如 一、二、三………...

工业智能网关建立烤漆设备故障预警及远程诊断系统
一、项目背景 烤漆房是汽车、机械、家具等工业领域广泛应用的设备,主要用于产品的表面涂装。传统的烤漆房控制柜采用本地控制方式,操作人员需在现场进行参数设置和设备控制,且存在设备智能化程度低、数据孤岛、设备维护成本高以及依靠传统人…...
cv2.VideoWriter_fourcc(*‘mp4v‘)生成的视频无法在浏览器展
看这个博主的博客,跟我碰到的问题的一致,都是使用AVC1写视频时报编码器不存在的异常,手动编译opencv-python或者使用conda install -c conda-forge opencv安装依赖即可。 博主博客:Python OpenCV生成视频无法浏览器播放问题说明及…...
MySQL 8.0 OCP 1Z0-908 161-170题
Q161.Examine this command, which executes successfully: cluster.addInstance ( ‘:’,{recoveryMethod: ‘clone’ 1}) Which three statements are true? (Choose three.) A)The account used to perform this recovery needs the BACKUP_ ADMIN privilege. B)A target i…...

Kafka Streams 和 Apache Flink 的无状态流处理与有状态流处理
Kafka Streams 和 Apache Flink 与数据库和数据湖相比的无状态和有状态流处理的概念和优势。 在数据驱动的应用中,流处理的兴起改变了我们处理和操作数据的方式。虽然传统数据库、数据湖和数据仓库对于许多基于批处理的用例来说非常有效,但在要求低延迟…...
React从基础入门到高级实战:React 基础入门 - 简介与开发环境搭建
React 简介与开发环境搭建 引言 React 是一个强大的 JavaScript 库,用于构建用户界面(UI),尤其是在单页应用(SPA)开发中表现出色。它由 Facebook(现为 Meta)开发并于 2013 年开源&…...

LM-BFF——语言模型微调新范式
gpt3(GPT3——少样本示例推动下的通用语言模型雏形)结合提示词和少样本示例后,展示出了强大性能。但大语言模型的训练门槛太高,普通研究人员无力,LM-BFF(Making Pre-trained Language Models Better Few-shot Learners)的作者受gp…...

NVMe高速传输之摆脱XDMA设计2
NVMe IP放弃XDMA原因 选用XDMA做NVMe IP的关键传输模块,可以加速IP的设计,但是XDMA对于开发者来说,还是不方便,原因是它就象一个黑匣子,调试也非一番周折,尤其是后面PCIe4.0升级。 因此决定直接采用PCIe设…...
github开源版pymol安装(ubuntu22.04实战版)
1. 克隆 PyMOL 的 GitHub 仓库 首先,你需要从 GitHub 克隆 PyMOL 的源代码: git clone https://github.com/schrodinger/pymol-open-source.git cd pymol-open-source2. 安装依赖项 PyMOL 依赖一些系统库和 Python 包,确保先安装它们&…...

pycharm无需科学上网工具下载插件的解决方案
以下是两种无需科学上网即可下载 PyCharm 插件的解决思路: 方法 1:设置 PyCharm 代理 打开 PyCharm选择菜单:File → Settings → Appearance & Behavior → System Settings → HTTP Proxy在代理设置中进行如下配置: 代理地…...

Halcon计算点到平面的距离没有那么简单
Halcon计算点到平面距离 1. 一些基本概念2. 浅谈有无符号的距离2.1 无符号距离的用武之地2.2 有符号距离的必要性 3. 无符号距离怎么算3.1 创建一个无限延展的基准平面,对距离有什么影响?Halcon代码图示 3.2 创建一个小小小的基准平面,对距离…...
基于DenseNet的医学影像辅助诊断系统开发教程
本文源码地址: https://download.csdn.net/download/shangjg03/90873921 1. 简介 本教程将使用DenseNet开发一个完整的医学影像辅助诊断系统,专注于胸部X光片的肺炎检测。我们将从环境搭建开始,逐步介绍数据处理、模型构建、训练、评估以及最终的系统部署。 2. 环境准备<…...

数据中台如何设计?中台开发技术方案,数据治理方案,大数据建设方案合集
中台的价值与核心理念 中台的核心在于“企业级能力复用”,其价值体现在四大维度: 能力整合:将分散的数字化能力(如营销、供应链)集中管理,形成核心竞争力; 业务创新:通过跨领域融合…...
Python爬虫设置IP代理
设置代理(Proxy) 作用: 当网站检测到某个IP的访问频率过高时,可能会封禁该IP。通过使用代理服务器,可以定期更换IP地址,避免被识别和封锁。 优势: 让网站无法追踪真实请求来源,提升…...

Adminer 连接mssql sqlserver
第一步 docker-compose.yml adminer部分: version: 3.8 services: adminer: image: adminer:latest container_name: adminer restart: unless-stopped volumes: - ./freetds/freetds.conf:/etc/freetds.conf:rw # 确保 :rw 可读写 co…...

C++系统IO
C系统IO 头文件的使用 1.使用系统IO必须包含相应的头文件,通常使用#include预处理指令。 2.头文件中包含了若干变量的声明,用于实现系统IO。 3.头文件的引用方式有双引号和尖括号两种,区别在于查找路径的不同。 4.C标准库提供的头文件通常没…...
利用 Python 爬虫获取唯品会 VIP 商品详情:实战指南
在当今电商竞争激烈的环境中,VIP 商品往往是商家的核心竞争力所在。这些商品不仅代表着品牌的高端形象,更是吸引高价值客户的关键。因此,获取 VIP 商品的详细信息对于市场分析、竞品研究以及优化自身产品策略至关重要。Python 作为一种强大的…...

DELL EMC PowerStore BBU更换手册
写在前面 上周给客户卖了一个BBU电池,客户要写一个更换方案。顺利完成了更换,下面就把这个更换方案给大家share出来,以后客户要写,您就Ctrlc 和Ctrlv就可以了。 下面的步骤是最理想的方式,中间没有任何的问题ÿ…...

css五边形
五边形 .fu{width: 172rpx;height: 204rpx;overflow: hidden;border-radius: 10rpx;clip-path: polygon(0% 0%, 100% 0%, 100% 75%, 50% 100%, 0% 75%, 0% 25%); }六边形 clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);...

三种常见脉冲神经网络编码方式解读
速率编码(rate coding) 速率编码使用输入特征来确定尖峰频率,例如将静态输入数据(如 MNIST 图像)转换为时间上的脉冲(spike)序列。它是将神经元发放脉冲的频率与输入值(如像素强度)…...
Go语言实战:使用 excelize 实现多层复杂Excel表头导出教程
Go 实现支持多层复杂表头的 Excel 导出工具 目录 项目介绍依赖说明核心结构设计如何支持多层表头完整使用示例总结与扩展 项目介绍 在实际业务系统中,Excel 文件导出是一项常见功能,尤其是报表类需求中常见的复杂多级表头,常规表格组件往…...

STM32F103 HAL多实例通用USART驱动 - 高效DMA+RingBuffer方案,量产级工程模板
导言 《STM32F103_LL库寄存器学习笔记12.2 - 串口DMA高效收发实战2:进一步提高串口接收的效率》前阵子完成的LL库与寄存器版本的代码,有一个明显的缺点是不支持多实例化。最近,计划基于HAL库系统地梳理一遍bootloader程序开发。在bootloader程…...