基于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.rhkb.cn/news/327026.html

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

相关文章

OpenCV使用 Kinect 和其他兼容 OpenNI 的深度传感器(75)

返回:OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇:使用 OpenCV 创建视频(74) 下一篇 :OpenCV使用 Orbbec Astra 3D 相机(76) 目的&#xff1a;​ 通过 VideoCapture 类支持与 OpenNI 兼容的深度传感器&#xff08;Kinect、XtionPRO 等&#xff09;。…

【数据结构】解密链表之旅(单链表篇)

前言 哈喽大家好&#xff0c;我是野生的编程萌新&#xff0c;首先感谢大家的观看。数据结构的学习者大多有这样的想法&#xff1a;数据结构很重要&#xff0c;一定要学好&#xff0c;但数据结构比较抽象&#xff0c;有些算法理解起来很困难&#xff0c;学的很累。我想让大家知道…

QLExpress入门及实战总结

文章目录 1.背景2.简介3.QLExpress实战3.1 基础例子3.2 低代码实战3.2.1 需求描述3.2.1 使用规则引擎3.3.2 运行结果 参考文档 1.背景 最近研究低代码实现后端业务逻辑相关功能&#xff0c;使用LiteFlow作为流程编排后端service服务, 但是LiteFlow官方未提供图形界面编排流程。…

大型语言模型自我进化综述

24年4月来自北大的论文“A Survey on Self-Evolution of Large Language Models”。 大语言模型&#xff08;LLM&#xff09;在各个领域和智体应用中取得了显着的进步。 然而&#xff0c;目前从人类或外部模型监督中学习的LLM成本高昂&#xff0c;并且随着任务复杂性和多样性的…

InLine Chat功能优化对标Github Copilot,CodeGeeX带来更高效、更直观的编程体验!

VSCode中的CodeGeeX 插件上线InLine Chat功能后&#xff0c;收到不少用户的反馈&#xff0c;大家对行内交互编程这一功能非常感兴趣。近期我们针对这个功能再次进行了深度优化&#xff0c;今天详细介绍已经在VSCode插件v2.8.0版本上线的 CodeGeeX InLine Chat功能&#xff0c;以…

Visual Studio 2022专业版安装步骤

Visual studio下载 首先进入下载官网,下载2022专业版 我勾选了以下几个和c#开发有关的&#xff0c;后面缺什么还可以再安装所有以少勾了问题也不大 然后改一下安装位置,点击安装 专业版秘钥激活 打开设置选择帮助,注册vs 专业版密钥: TD244-P4NB7-YQ6XK-Y8MMM-YWV2J

【MinGW】MinGW-w64的安装及配置教程

目录 &#x1f31e;1. MinGW简介 &#x1f31e;2. MinGW安装详情 &#x1f30a;2.1 资源包获取 &#x1f30a;2.2 安装详情 &#x1f31e;1. MinGW简介 MinGW (Minimalist GNU for Windows) 是一个在 Windows 平台上开发软件的开发工具集合。它提供一组用于编译 Windows 应…

Python-VBA函数之旅-tuple函数

目录 一、tuple函数的常见应用场景 二、tuple函数使用注意事项 三、如何用好tuple函数&#xff1f; 1、tuple函数&#xff1a; 1-1、Python&#xff1a; 1-2、VBA&#xff1a; 2、推荐阅读&#xff1a; 个人主页&#xff1a; https://myelsa1024.blog.csdn.net/ 一、tu…

共赴科技盛会“2024南京智博会”11月在南京国际博览中心召开

2024年&#xff0c;南京这座历史悠久的文化名城迎来了一场科技与智慧交织的盛会——南京智博会|南京国际智慧城市、物联网、大数据。本次博览会以智慧城市、人工智能、消费电子、物联网、大数据为主题&#xff0c;汇聚了全球各地的智能科技精英&#xff0c;共同探讨智慧城市建设…

大学c语言基础很差,能不能学51单片机?会不会很困难?

开始前我分享下我的经历&#xff0c;我刚入行时遇到一个好公司和师父&#xff0c;给了我机会&#xff0c;一年时间从3k薪资涨到18k的&#xff0c; 我师父给了一些51单片机学习方法和资料&#xff0c;让我不断提升自己&#xff0c;感谢帮助过我的人&#xff0c; 如大家和我一样…

HTML静态网页成品作业(HTML+CSS+JS)——华为商城网页(1个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;使用Javacsript代码实现首页图片切换轮播效果&#xff0c;共有1个页面…

IT行业现状与未来趋势分析

IT行业现状与未来趋势显示出持续的活力和变革&#xff0c;以下是上大学网&#xff08;www.sdaxue.com&#xff09;关于IT行业现状与未来趋势分析&#xff0c;供大家参考。 当前现状&#xff1a; 市场需求持续增长&#xff1a;随着信息时代的深入发展&#xff0c;各行各业对信息…

k8s endpoint

Endpoint Service 并不是和 pod 直接相连的&#xff0c;Endpoint 介于两者之间。Endpoint 资源就是暴露一个服务的 IP 地址和端口的列表。 虽然在 spec 服务中定义了 pod 选择器&#xff0c;但在重定向传入连接时不会直接使用它。选择器用于构建 IP 和端口列表&#xff0c;然…

材料物理 笔记-8

原内容请参考哈尔滨工业大学何飞教授&#xff1a;https://www.bilibili.com/video/BV18b4y1Y7wd/?p12&spm_id_frompageDriver&vd_source61654d4a6e8d7941436149dd99026962 或《材料物理性能及其在材料研究中的应用》&#xff08;哈尔滨工业大学出版社&#xff09; ——…

OpenCV中的模块:点云配准

点云配准是点云相关的经典应用之一。配准的目的是估计两个点云之间位姿关系从而完成两者对应点之间的对齐/对应,因而在英文中又叫“align”、“correspondence”。笔者曾经是基于OpenCV进行三维重建的,并且从事过基于深度学习的6DoF位置估计等工作。在这些工作中,除了重建点…

org.hsqldb.jdbcDriver 类,导致 ClassNotFoundException 异常如何解决?

确保JDBC驱动包存在&#xff1a;检查系统是否已经安装了HSQLDB JDBC驱动。如果没有安装或驱动没有正确放置在类路径中&#xff0c;需要下载并添加它。你可以从 HSQLDB官网 下载JDBC驱动包。 添加JDBC驱动到类路径&#xff1a;将下载的HSQLDB JDBC驱动&#xff08;通常是一个JA…

uniapp实现下拉刷新效果-uniapp原生接口

onPullDownRefresh | uni-app官网 1、需要在 pages.json 里&#xff0c;找到的当前页面的pages节点&#xff0c;并在 style 选项中开启 enablePullDownRefresh 2、生命周期中添加onPullDownRefresh&#xff0c;下拉时获取数据 3、处理完数据后&#xff0c;停止下拉效果stopPul…

腐烂的橘子BFS

题目&#xff1a; 腐烂的橘子 在给定的 m x n 网格 grid 中&#xff0c;每个单元格可以有以下三个值之一&#xff1a; 值 0 代表空单元格&#xff1b; 值 1 代表新鲜橘子&#xff1b; 值 2 代表腐烂的橘子。 每分钟&#xff0c;腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子…

如何把学浪上的视频保存到电脑

在这个信息爆炸的时代&#xff0c;知识的获取从未如此便捷&#xff0c;而学浪平台正是这股知识浪潮中的一艘航船。但是&#xff0c;当网络信号如同海上的风浪般变幻莫测&#xff0c;你是否曾渴望拥有一片宁静的港湾&#xff0c;让那些宝贵的学习资源得以永久停泊&#xff1f;今…

【C++】再识构造函数:初始化列表新方式

欢迎来到CILMY23的博客 &#x1f3c6;本篇主题为&#xff1a; 再识构造函数&#xff1a;初始化列表新方式 &#x1f3c6;个人主页&#xff1a;CILMY23-CSDN博客 &#x1f3c6;系列专栏&#xff1a;Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux &#x1f3c6;感…