今日总结 2025-01-14
- 学习目标
- 掌握运用 VSCode 开发 uni - app 的配置流程。
- 学会将配置完善的项目作为模板上传至 Git,实现复用。
- 项目启动
- 创建项目:借助 Vue - Cli 方式创建项目,推荐从国内地址
https://gitee.com/dcloud/uni - preset - vue/repository/archive/vite - ts.zip
下载,完成后即可在 VSCode 中编写代码。 - .prettierrc 文件:在项目根目录创建该文件,添加 Prettier 常用配置选项,用于规范代码格式,后续可按需完善。
- VSCode 扩展:介绍了多个针对 uni - app 开发的 VSCode 扩展,如 UNI - HELPER、UNI - CREATEVIEW、UNIAPP 小程序扩展、UNIAPPSNIPPET 等,它们能增强开发体验,但均被用户全局禁用自动更新。
- 创建项目:借助 Vue - Cli 方式创建项目,推荐从国内地址
- 引入 uni - ui 组件库
- 下包:参考 uni - app 官网
https://uniapp.dcloud.net.cn/component/uniui/quickstart.html#npm%E5%AE%89%E8%A3%85
提供的方法,可通过在 HBuilderX 选 uni - ui 模板、uni_modules 单独安装或 npm 安装等方式获取组件库。 - 配置 easycom:按照规范配置,实现组件自动导入,简化使用流程。
- 测试:在
template
中使用<uni - badge>
组件进行测试,通过设置text
、type
、inverted
等属性展示不同样式。
- 下包:参考 uni - app 官网
- 增强使用体验 - 组件库类型提示
- uni 组件类型校验:
- 安装依赖:使用
npm i -D @uni - helper/uni - app - types @uni - helper/uni - ui - types
命令安装开发依赖,为项目提供 TypeScript 类型支持。 - 配置 tsconfig.json:对
tsconfig.json
文件进行配置,继承@vue/tsconfig/tsconfig.json
,设置compilerOptions
中的moduleResolution
、sourceMap
等选项,添加@uni - helper/uni - app - types
和@uni - helper/uni - ui - types
到types
数组为 uni - ui 组件提供类型支持,在vueCompilerOptions
中配置@uni - helper/uni - app - types/volar - plugin
插件,并指定include
包含的文件类型。
- 安装依赖:使用
- uni 组件类型校验:
在 uni - app - vscode 版开发过程中,存在以下难点:
- 项目配置复杂性
- 多种安装方式的适配:uni - app 项目创建和组件库安装有多种方式,如 Vue - Cli 方式创建项目、HBuilderX 模板选择、uni_modules 安装组件及 npm 安装等。每种方式都有其特定的步骤和注意事项,例如 npm 安装 uni - ui 组件库时,cli 项目需在根目录创建
vue.config.js
文件并配置transpileDependencies
,否则会出现组件无法正常编译和条件编译失效的问题。这就要求开发者熟悉不同安装方式的细节,根据项目实际情况选择合适的方法,并确保配置正确,增加了开发初期的学习成本和操作难度。 - 相关依赖和工具的版本兼容性:在安装 sass、sass - loader 以及 uni - ui 组件库时,需要注意与项目中 Node 版本的兼容性。如 Node 版本小于 16 时,sass - loader 需使用低于
@11.0.0
的版本,否则不支持vue@2.6.12
;Node 版本大于 16 时,sass - loader 建议使用v8.x
版本。这种版本依赖关系较为复杂,若开发者不了解或忽视这些兼容性问题,可能会导致安装失败、项目运行出错等情况,影响开发进度。
- 多种安装方式的适配:uni - app 项目创建和组件库安装有多种方式,如 Vue - Cli 方式创建项目、HBuilderX 模板选择、uni_modules 安装组件及 npm 安装等。每种方式都有其特定的步骤和注意事项,例如 npm 安装 uni - ui 组件库时,cli 项目需在根目录创建
- 组件库使用问题
- easycom 配置的理解与应用:虽然 easycom 技术简化了组件的使用流程,但对于初次接触的开发者来说,理解其配置规则并正确应用仍有一定难度。在
pages.json
文件中配置 easycom 节点时,需要准确设置autoscan
和custom
等属性,尤其是custom
中针对 uni - ui 组件的正则表达式规则^uni-(.*)
:"@dcloudio/uni - ui/lib/uni - $1/uni - $1.vue"
,需要开发者清楚其作用和原理,否则可能导致组件无法自动导入或导入错误,影响项目功能实现。 - 组件类型校验和类型提示的设置:进行 uni 组件类型校验时,需要安装
@uni - helper/uni - app - types
和@uni - helper/uni - ui - types
依赖,并在tsconfig.json
文件中进行详细配置。这涉及到对 TypeScript 配置的深入理解,包括extends
、compilerOptions
、vueCompilerOptions
和include
等多个部分的设置,以及如何确保这些设置与项目中的其他工具和库协同工作。如果配置不当,可能无法获得准确的类型提示和校验,增加代码出现类型错误的风险,降低开发效率。
- easycom 配置的理解与应用:虽然 easycom 技术简化了组件的使用流程,但对于初次接触的开发者来说,理解其配置规则并正确应用仍有一定难度。在
- 开发环境整合挑战
- VSCode 扩展的有效利用:虽然提供了多个针对 uni - app 开发的 VSCode 扩展,但部分扩展被用户全局禁用自动更新,可能存在功能不完善或与当前项目不兼容的情况。开发者需要了解每个扩展的功能和适用场景,如 UNI - HELPER 用于增强开发体验、UNI - CREATEVIEW 方便创建视图与组件等,但如何在实际开发中充分发挥这些扩展的优势,同时避免可能出现的问题,需要开发者进行探索和实践。此外,还需要关注扩展的更新情况,及时更新或调整配置,以适应项目需求和开发环境的变化。
- 确保项目在不同平台的一致性:uni - app 旨在实现跨端开发,在 VSCode 中开发时需要确保项目在不同平台(如 H5、小程序、App 等)上的一致性。这涉及到处理不同平台的差异,如样式兼容性、API 调用的不同实现等。在使用组件库和编写代码时,需要考虑到这些差异并进行适当的条件编译和适配,否则可能导致项目在某些平台上出现显示异常或功能错误,增加了开发和调试的难度。
相关文章:
今日总结 2025-01-14
学习目标 掌握运用 VSCode 开发 uni - app 的配置流程。学会将配置完善的项目作为模板上传至 Git,实现复用。项目启动 创建项目:借助 Vue - Cli 方式创建项目,推荐从国内地址 https://gitee.com/dcloud/uni - preset - vue/repository/archiv…...

关于扫描模型 拓扑 和 传递贴图工作流笔记
关于MAYA拓扑和传递贴图的操作笔记 一、拓扑低模: 1、拓扑工作区位置: 1、准备出 目标 高模。 (高模的状态如上 ↑ )。 2、打开顶点吸附,和建模工具区,选择四边形绘制. 2、拓扑快捷键使…...
C#知识|泛型Generic概念与方法
哈喽,你好啊,我是雷工! 关于泛型在前面学习记录过 《泛型集合List相关方法》、《Dictionary泛型集合的使用总结》; 其中泛型集合 List<T>、Dictionary<k,v>所在的命名空间为:System.Collection.Generic…...

centos 8 中安装Docker
注:本次样式安装使用的是centos8 操作系统。 1、镜像下载 具体的镜像下载地址各位可以去官网下载,选择适合你们的下载即可! 1、CentOS官方下载地址:https://vault.centos.org/ 2、阿里云开源镜像站下载:centos安装包…...
vscode vue 自动格式化
vscode vue 自动格式化 安装Prettier和Vetur插件 选择设置,并且转到编辑文件。增加如下内容。 {"editor.formatOnSave": true,"editor.defaultFormatter": "esbenp.prettier-vscode","[vue]": {"editor.defaultFor…...

Webpack 5 混淆插件terser-webpack-plugin生命周期作用时机和使用注意事项
参考案例代码 海南酷森科技有限公司/webpack-simple-demo Terser(简要的/简短的) 混淆依据 混淆是发生在代码已经 bundle 之后的事情 变量或者函数在被引用或赋值时才能被混淆 孤立的函数或者变量可能会被移除,但不会被混淆,要…...
MQTT(Message Queuing Telemetry Transport)协议
文章目录 一、MQTT 的原理1. 通信模型2. 核心概念3. 工作流程 二、MQTT 的优势1. 轻量级2. 异步通信3. 可靠性4. 实时性5. 支持断线重连6. 跨平台支持7. 安全性 三、MQTT 的典型应用场景四、与其他协议的对比 MQTT(Message Queuing Telemetry Transport)…...
【MySQL学习笔记】MySQL存储过程
存储过程 1、基础语法2、变量2.1 系统变量2.2 用户自定义变量2.3 局部变量 3、if 流程控制4、参数5、case 流程控制6、循环结构6.1 while 循环6.2 repeat 循环6.3 loop 循环 7、游标 存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以…...

Vue2+OpenLayers实现折线绘制、起始点标记和轨迹打点的完整功能(提供Gitee源码)
目录 一、案例截图 二、安装OpenLayers库 三、代码实现 3.1、HTML页面 3.2、初始化变量 3.3、创建起始点位 3.4、遍历轨迹点 3.5、画折线 3.6、初始化弹窗信息 3.7、初始化地图上标点的点击事件 3.8、完整代码 四、Gitee源码 一、案例截图 二、安装OpenLayers库 n…...

基于Spring Boot的城市垃圾分类管理系统设计与实现(LW+源码+讲解)
专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...

linux: 文本编辑器vim
文本编辑器 vi的工作模式 (vim和vi一致) 进入vim的方法 方法一:输入 vim 文件名 此时左下角有 "文件名" 文件行数,字符数量 方法一: 输入 vim 新文件名 此时新建了一个文件并进入vim,左下角有 "文件名"[New File] 灰色的长方形就是光标,输入文字,左下…...
Eclipse Debug 调试
关于Eclipse的Debug调试功能,有几点重要的信息可以分享。 Debug的启动方式:Eclipse提供了多种启动程序调试的方式,包括通过菜单(Run –> Debug)、点击“绿色臭虫”图标、右键选择Debug As以及使用快捷键(F11)【0†source】。 调试中最常用…...
vue3+ts的<img :src=““ >写法
vue3ts的<img :src"" >写法<img :src"datasetImage" alt"数据分布示意图" /><script setup lang"ts">const datasetImage ref();datasetImage.value new URL(../../../assets/images/login-background.jpg, impo…...

《心血管成像的深度学习》论文精读
Deep Learning for Cardiovascular Imaging 重要性:由深度学习 (DL) 的进步推动的人工智能 (AI) 有可能重塑心血管成像 (CVI) 领域。虽然 CVI 的 DL 仍处于起步阶段,但研究正在加速,以帮助获取、处理和/或解释各种模式下的 CVI,其…...
RDP、VNC、SSH 三种登陆方式的差异解析
一、引言 在计算机系统管理和远程访问的领域中,RDP(Remote Desktop Protocol,远程桌面协议)、VNC(Virtual Network Computing,虚拟网络计算)和 SSH(Secure Shell)是三种广…...
3d 可视化库 vister部署笔记
目录 vister 开源地址: python版本: 在python3.10以上版本安装 viser, 测试ok的案例: 立方体mesh选中 SMPL-X可视化 ok 推理代码: vister 开源地址: GitHub - nerfstudio-project/viser: Web-based 3D visualization + Python python版本: 在python3.10以上版本…...
操作系统八股文学习笔记
总结来自于javaguide,本文章仅供个人学习复习 javaguide操作系统八股 文章目录 操作系统基础什么是操作系统?操作系统主要有哪些功能?常见的操作系统有哪些?用户态和内核态为什么要有用户态和内核态?只有一个内核态不行嘛?用户态和内核态是如何切换的?系统调用 进程和线程…...

k8s基础(6)—Kubernetes-存储
Kubernetes-存储概述 k8s的持久券简介 Kubernetes的持久卷(PersistentVolume, PV)和持久卷声明(PersistentVolumeClaim, PVC)为用户在Kubernetes中使用卷提供了抽象。PV是集群中的一块存储,PVC是对这部分存储的请求。…...

K8S--配置存活、就绪和启动探针
目录 1 本人基础环境2 目的3 存活、就绪和启动探针介绍3.1 存活探针3.2 就绪探针3.3 启动探针 4 探针使用场景4.1 存活探针4.2 就绪探针4.3 启动探针 5 配置存活、就绪和启动探针5.1 定义存活探针5.2 定义一个存活态 HTTP 请求接口5.3 定义 TCP 的就绪探针、存活探测5.4 定义 g…...

永久免费工业设备日志采集
永久免费: <下载> <使用说明> 用途 定时全量或增量采集工控机,电脑文件或日志. 优势 开箱即用: 解压直接运行.不需额外下载.管理设备: 后台统一管理客户端.无人值守: 客户端自启动,自更新.稳定安全: 架构简单,兼容性好,通过授权控制访问. 架构 技术架构: Asp…...

利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...

均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...

2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...