基于uniapp+vue3+ts小程序项目实战之项目初始化

🚀 作者 :“二当家-小D”

🚀 博主简介:⭐前荔枝FM架构师、阿里资深工程师||曾任职于阿里巴巴担任多个项目负责人,8年开发架构经验,精通java,擅长分布式高并发架构,自动化压力测试,微服务容器化k8s等

🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬

🍅文末获取源码联系 配套笔记打包🍅目录

一、小滴课堂微信小程序项目初始化

1.1小滴课堂微信小程序项目需求分析

首页:

分类:

学习:

我的:

二、项目初始化创建

2.1项目初始化创建

npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project

2.2原子化css框架-unocss配置

unocss.config.ts文件配置
// unocss.config.tsimport presetWeapp from 'unocss-preset-weapp'
import { defineConfig } from 'unocss'
import { transformerAttributify, transformerClass } from 'unocss-preset-weapp/transformer'export default defineConfig({presets: [presetWeapp(), // 工具预设],transformers: [transformerAttributify(), // 支持属性化模式transformerClass(), // 转换转义类名,支持class写法],shortcuts: [{ center: 'flex items-center justify-center' },{ around: 'flex items-center justify-around' },{ between: 'flex items-center justify-between' },]
})

main.ts文件配置

// main.ts
import 'uno.css'
vite.config.ts文件配置
// vite.config.ts
import { defineConfig } from 'vite'
import Unocss from 'unocss/vite'export default defineConfig({plugins: [Unocss()]
})

2.3响应式语法糖和自动引入插件配置

开启响应式语法糖

// vite.config.ts
import { defineConfig } from 'vite'
import Unocss from 'unocss/vite'export default defineConfig({plugins: [uni({vueOptions: {reactivityTransform: true}})]
})

ts识别语法糖写法

"types": ["vue/ref-macros"]

响应式语法糖和自动引入插件配置自动引入插件配置

// vite.config.ts
import { defineConfig } from 'vite'
import AutoImport from 'unplugin-auto-import/vite'export default defineConfig({plugins: [AutoImport({dts: 'src/typings/auto-imports.d.ts',imports: ['vue', 'uni-app', 'pinia'],dirs: ['src/composables']})]
})

2.3uni-app框架中使用Pinia状态管理的配置

安装插件

pnpm i pinia@2.0.30 pinia-plugin-persistedstate@3.0.2 -S

引入Pinia

// main.ts
import { createPinia } from 'pinia';
import { createSSRApp } from 'vue';
import { createPersistedState } from 'pinia-plugin-persistedstate';
import App from './App.vue';import 'uno.css';// 引入Pinia和持久缓存的设置
const pinia = createPinia().use(createPersistedState({storage: {getItem(key: string) {return uni.getStorageSync(key);},setItem(key: string, value: string) {uni.setStorageSync(key, value);},},})
);export function createApp() {const app = createSSRApp(App).use(pinia);return {app,};
}

2.4uni-app框架中使用Pinia状态管理的使用

src根目录新建composables目录(用于放置Pinia配置文件)

测试Pinia配置成功与否

// user.ts
export const useUser = defineStore('user',() => {let isLogin = $ref<boolean>(false);return $$({isLogin,});},{persist: true,}
);

配置TS对响应式语法糖的支持

"types": ["@dcloudio/types", "vue/ref-macros"]

vue3官网Reactivity Transform文档地址

https://vuejs.org/guide/extras/reactivity-transform.html#refs-vs-reactive-variables

返回函数范围内使用 $$ 包裹保持响应性

结束语

今天的内容着重介绍了uniapp+vue3+ts的微信小程序项目的初始化过程以及相关配置。从需求分析开始,到项目初始化创建、CSS框架配置、响应式语法糖和自动引入插件配置,再到在uni-app框架中使用Pinia状态管理的配置和使用,每一步都详细说明了具体的操作和配置方法。

今天的文章就到这里了,还有更多内容下次继续。

资料获取📚
完整代码和笔记已经准备好,如果有问题,可以在评论区留言讨论💬
原创不易,别忘了点赞👍+收藏⭐哦!
点击下方链接即可获取完整资料压缩包🎁,快来领取吧!↓↓↓↓

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

专访安克创新CEO阳萌:仿生算法与存算一体芯片的兴起

在这篇博客中&#xff0c;我们将探讨人工智能的未来发展方向&#xff0c;特别是围绕大模型、存算一体芯片以及仿生算法的讨论。通过对安克创新CEO阳萌的专访内容进行分析&#xff0c;我们将尝试解答一些关于AI发展的关键问题&#xff0c;并对未来的技术趋势进行预测。 引言 …

Docker和Kubernetes之间的关系

Docker和Kubernetes在容器化生态系统中各自扮演着不同的角色 它们之间是互补的&#xff0c;而不是替代关系。 Docker是一个开源的容器化平台&#xff0c;它允许开发人员将应用程序及其依赖项打包到一个可移植的容器中&#xff0c;并确保这些容器可以在任何Docker环境中一致地…

如何利用AI生成答辩PPT?笔灵AI答辩PPT,智能识别关键点

很多快要毕业的同学在做答辩PPT的时候总是感觉毫无思路&#xff0c;一窍不通。但这并不是你们的错&#xff0c;对于平时没接触过相关方面&#xff0c;第一次搞答辩PPT的人来说&#xff0c;这是很正常的一件事。一个好的答辩PPT可以根据以下分为以下几部分来写。 1.研究的背景和…

MongoDB事务的理解和思考

3.2版本开始引入Read Concern&#xff0c;解决了脏读&#xff0c;支持Read Commit 3.6版本引入Session&#xff0c;支持多个请求共享上下文&#xff0c;为后续的事务支持做准备 4.0支持多行事务&#xff0c;但4.0的事务只是个过渡的版本 4.2开始支持多文档事务 1. Mongo的架…

OceanBase v4.3特性解析:新功能“租户克隆”的场景与应用指南

熟悉或曾用过OceanBase的朋友&#xff0c;对于“多租户”这一理念定不陌生。OceanBase的租户概念&#xff0c;与我们熟知的传统数据库实例颇为相似。举例来说&#xff0c;OceanBase的租户支持MySQL兼容模式&#xff0c;对于用户而言&#xff0c;选用一个MySQL兼容模式的租户&am…

HTML满屏漂浮爱心

目录 写在前面 满屏爱心 代码分析 系列推荐 写在最后 写在前面 小编给大家准备了满屏漂浮爱心代码&#xff0c;一起来看看吧~ 满屏爱心 文件heart.svg <svg xmlns"http://www.w3.org/2000/svg" width"473.8px" height"408.6px" view…

TiDB学习1:TiDB体系架构概览

1. TiDB体系结构 水平扩容或者缩容金融级高可用实时 HTAP云原生的分布式数据库兼容MySQ 5.7 协议 2. TiDBsever 处理客户端的连接SQL语句的解析和编译关系型数据与 kv 的转化(insert语句)SQL 语句的执行执行 online DDL垃圾回收(GC) 3. TiKV 数据持久化(行存)副本的强一致性和…

一、Windows 环境安装 Visual Studio — 全网最详细教程

目录 一、下载 Visual Studio 软件 二、运行安装程序、选择工作负载 三、完成安装&#xff0c;启动 Visual Studio 四、创建和运行代码 一、下载 Visual Studio 软件 Visual Studio 的下载网站如下&#xff1a; Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑…

第33次CSP认证Q3:化学方程式配平

&#x1f344;题目描述 为了配平一个化学方程式&#xff0c;我们可以令方程式中各物质的系数为未知数&#xff0c;然后针对涉及的每一种元素&#xff0c;列出关于系数的方程&#xff0c;形成一个齐次线性方程组。然后求解这个方程组&#xff0c;得到各物质的系数。这样&#x…

【脚本】使用脚本备份docker中部署的mysql数据库

v1版本明文密码方式&#xff1a; #!/bin/bash# 定义 MySQL 容器名称和数据库信息 container_name"mysql_container" db_user"root" db_password"your_password"# 定义要备份的数据库列表 databases("database1" "database2"…

回归预测 | Matlab实现SMA-GPR黏菌算法优化高斯过程回归多变量回归预测

回归预测 | Matlab实现SMA-GPR黏菌算法优化高斯过程回归多变量回归预测 目录 回归预测 | Matlab实现SMA-GPR黏菌算法优化高斯过程回归多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现SMA-GPR黏菌算法优化高斯过程回归多变量回归预测 1.Matlab实现…

tomcat--java的安装

组成 语言、语法规范。关键字,如: if、for、class等源代码 source code依赖库&#xff0c;标准库(基础)、第三方库(针对某些应用)。由于底层代码太难使用且开发效率低&#xff0c;封装成现成的库JVM虚拟机。将源代码编译为中间码即字节码后,再运行在JVM之上 jdk和jre 概念 j…