【Midway+Vue3】前后端实战,从编码到部署,写一个绝美 todolist

本文主要是介绍【Midway+Vue3】前后端实战,从编码到部署,写一个绝美 todolist,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目预览

在这里插入图片描述

技术选型

在这里插入图片描述

前端

  1. vue3、typescript、setup 语法的基本使用
  2. vue-router4、pinia 的使用
  3. axios + typescript 的请求封装
  4. jwt、refresh token 的使用和处理
  5. tailwind css 和 naive-ui 的使用,并接入暗黑模式
  6. vue3-dnd 结合 react-dnd-html5-backend 进行拖拽
  7. 腾讯云 cos 的使用,获取服务端下发的临时密钥并进行头像上传
  8. vite 的使用,图片压缩插件的使用
  9. 结合 node-ssh 和 ali-oss 编写服务器部署脚本 和 阿里云 oss 部署脚本

后端

  1. midway 框架的使用
  2. typeorm + mysql 的增删改查、事务的使用
  3. redis 的使用,负责存储短信验证码
  4. 接入 腾讯云 sms 短信服务
  5. 接入 腾讯云 cos 并下发临时密钥
  6. passport 的身份验证库的使用,并接入 localStrategy 本地策略
  7. jwt 中间件、全局请求响应中间件、全局异常处理器的编写
  8. 多环境部署,测试环境部署至服务器,生产环境部署至 Serverless

部署

  1. 接入 gitlab ci/cd,服务器安装 gitlab runner
  2. gitlab webhooks 的使用,负责从镜像仓库中拉取最新镜像
  3. Dockerfile、docker-compose.yml、.gitlab-ci.yml 的编写
  4. docker 的使用,nginx 的常用配置(前端视角)
  5. docker compose 的使用,编排了 app(业务)、redis、mysql 三个容器
  6. 创建阿里云私有镜像仓库,并进行镜像的 push 和 pull

体验地址

测试环境
http://dev.tutulist.cn

生产环境
https://tutulist.cn

代码地址

前端代码

https://github.com/bravehot/tutulist-web-app

后端代码

https://github.com/bravehot/tutulist-web-server

webhooks

https://github.com/bravehot/tutulist-gitlab-webhooks

文档地址

https://www.yuque.com/aiyouwai/tutulist/gam1z6

最新的文档都已经更新在语雀知识库中,掘金后续也会相继更新,文档中记录了前后端开发到部署的所有内容,并以篇章的形式进行展示。 大家选取自己感兴趣的部分查阅即可

在这里插入图片描述

注意

文档中没有列出具体的业务代码。只提供了一些功能的实现思路和部分伪代码,关心代码具体实现的同学请查阅 Github

下一篇

# 【Midway+Vue3】初始化一个 Vue 项目 (前端篇 01):

这篇关于【Midway+Vue3】前后端实战,从编码到部署,写一个绝美 todolist的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/298951

相关文章

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版