【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

相关文章

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

前端缓存策略的自解方案全解析

《前端缓存策略的自解方案全解析》缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,:本文主要介绍前端缓存的自解方案,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、为什么“清缓存”成了技术圈的梗二、先给缓存“把个脉”:浏览器到底缓存了谁?三、设计思路:把“发版”做成“自愈”四、代码

通过React实现页面的无限滚动效果

《通过React实现页面的无限滚动效果》今天我们来聊聊无限滚动这个现代Web开发中不可或缺的技术,无论你是刷微博、逛知乎还是看脚本,无限滚动都已经渗透到我们日常的浏览体验中,那么,如何优雅地实现它呢?... 目录1. 早期的解决方案2. 交叉观察者:IntersectionObserver2.1 Inter

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型:

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

vue监听属性watch的用法及使用场景详解

《vue监听属性watch的用法及使用场景详解》watch是vue中常用的监听器,它主要用于侦听数据的变化,在数据发生变化的时候执行一些操作,:本文主要介绍vue监听属性watch的用法及使用场景... 目录1. 监听属性 watch2. 常规用法3. 监听对象和route变化4. 使用场景附Watch 的