【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

相关文章

全面解析HTML5中Checkbox标签

《全面解析HTML5中Checkbox标签》Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中C... 在html5中,Checkbox(复选框)是一种常用的表单元素,允许用户在一组选项中选择多个项目。本

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

html 滚动条滚动过快会留下边框线的解决方案

《html滚动条滚动过快会留下边框线的解决方案》:本文主要介绍了html滚动条滚动过快会留下边框线的解决方案,解决方法很简单,详细内容请阅读本文,希望能对你有所帮助... 滚动条滚动过快时,会留下边框线但其实大部分时候是这样的,没有多出边框线的滚动条滚动过快时留下边框线的问题通常与滚动条样式和滚动行

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

Java Spring 中的监听器Listener详解与实战教程

《JavaSpring中的监听器Listener详解与实战教程》Spring提供了多种监听器机制,可以用于监听应用生命周期、会话生命周期和请求处理过程中的事件,:本文主要介绍JavaSprin... 目录一、监听器的作用1.1 应用生命周期管理1.2 会话管理1.3 请求处理监控二、创建监听器2.1 Ser

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

MQTT SpringBoot整合实战教程

《MQTTSpringBoot整合实战教程》:本文主要介绍MQTTSpringBoot整合实战教程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录MQTT-SpringBoot创建简单 SpringBoot 项目导入必须依赖增加MQTT相关配置编写

使用Python和Tkinter实现html标签去除工具

《使用Python和Tkinter实现html标签去除工具》本文介绍用Python和Tkinter开发的HTML标签去除工具,支持去除HTML标签、转义实体并输出纯文本,提供图形界面操作及复制功能,需... 目录html 标签去除工具功能介绍创作过程1. 技术选型2. 核心实现逻辑3. 用户体验增强如何运行