首页 > 其他分享 >Vue3+TS后台项目笔记

Vue3+TS后台项目笔记

时间:2023-05-29 20:33:46浏览次数:48  
标签:封装 自定义 配置 TS 校验 组件 Vue3 后台

Date: 2023-05-29 17:56:27
Author: Gavin
PS: 不喜欢做复制粘贴,这篇笔记只是简写关键

P1~12 Vue3 中的通信方式

  • props 父=>子 传的为不可变数据
  • 自定义事件 子=>父
  • 全局事件总线 任意组件 mitt实现
  • v-model 父<=>子 写在组件标签上,实现props和自定义事件
  • ref 子=>父 子组件需expose可变数据
    $parent 父=>子 父组件需expose可变数据
  • provide & inject 父=>子=>孙
  • pinia 任意组件 vue3中官方推出的任意组件通信方案,有composition & option 写法
  • 插槽 父<=>子 根据需要使用不同的 slot 类型

vue3通讯例子实现项目地址

P13~14 项目介绍

使用技术

  • Vue3
  • TypeScript
  • Pinia
  • Elment-Plus

P15 eslint 校验代码工具

代码质量校验工具,配置

P16 prettier 格式化

代码风格校验工具,配置

P17 styleLInt工具

css 校验工具

P18 husky配置

git 仓库提交之前执行命令,如代码格式化等

P19 commitLint

检查git提交仓库备注信息符合规范

P20 统一包管理工具

pnpm 好像是目前最好用的包安装工具

P21 element-plus 的集成

自动组件按需加载

P22 src 文件别名配置

vite配置 src === @

P23 项目环境变量配置

在vite中配置不同环境的变量,如自动请求不同的接口地址、标题等

P24~25 svg 图标封装和使用

统一svg图标管理,使用自定义插件封装为全局组件

P26 集成 sass

pnpm i sass -D

P27 Mock 接口

使用 mockjs,我直接用 Apifox了

P28 axios 二次封装

TS 封装

  • 设置请求头,超时处理
  • 统一请求拦截器
  • 统一响应拦截器
  • 400错误处理
  • 开发环境请求路径判断

P29 API接口统一管理

写在一起,方便管理

P30 路由配置

用 vue-router@4 配置路由

  1. 引入方法
  2. 配置实现路由
  3. 导出
  4. 框架使用

P31 登录静态页面

标签:封装,自定义,配置,TS,校验,组件,Vue3,后台
From: https://www.cnblogs.com/isgavin/p/17441598.html

相关文章

  • TS装饰器
    /***自动绑定的装饰器**@export*@param{string}[bindName]*@return{*}*/exportfunctionautobind(bindName?:string){returnfunction(target:object,properkey:string){bindName=bindName!=null?bindName:(properkey[0]==......
  • Java-Day-25( 字节输入流 + FileInputStream 和 FileOutputStream + FileReader 和 Fi
    Java-Day-25InputStream(字节输入流)InputStream抽象类是所有类字节输入流的超类InputStream常用的子类FileInputStream:文件输入流BufferedInputStream:缓冲字节输入流ObjectInputStream:对象字节输入流FileInputStream和FileOutputStreamFileInputStream(文......
  • Echarts 阴影点击事件获得当前柱状图的索引值方法
    Echarts阴影点击事件获得当前柱状图的索引值方法//什么在option外面的变量varclickIndex;option={//配置信息tooltip:{//提示框//提示触发类型:不触发trigger:'none',},//formatter回调函数,formatter:val=>{......
  • 关于VBA的TextStream StdOut相关程序的学习——源代码(刘永富博士的ExcelVBA编程开发)
    Subtest3()'标准输出-查找相关目录下所有的GIF格式文件。DimTS1AsIWshRuntimeLibrary.TextStreamDimTS2AsIWshRuntimeLibrary.TextStreamSetWShell=NewIWshRuntimeLibrary.WshShellSetWE=WShell.Exec("cmd.exe/k")SetTS1=WE.StdInTS1.......
  • echarts堆叠柱状图上方展示两个数据项的总和
        //当月漏项统计排名getIndicatorCurve(data1){echarts.init(document.getElementById('lineOption5')).dispose()//销毁实例//找到容器letmyEcharts=echarts.init(document.getElementById('lineOption5'),......
  • django 中的collectstatic
    django中的collectstatic在Django中,"collectstatic"是一个管理命令,用于收集和复制项目中的静态文件到一个指定的静态文件目录,以便于部署。当你开发一个Django项目时,通常会使用许多静态文件,如CSS样式表、JavaScript文件、图像等。这些文件通常存储在每个应用程序的"static"目录......
  • 基于 Mindspore 框架与 ModelArts 平台的 MNIST 手写体识别实验
    简介实验包含2部分:基于Mindspore框架的模型本地训练及预测基于Modelarts平台和PyTorch框架的模型训练及部署基于Mindspore框架的模型本地训练及预测本例子会实现一个简单的图片分类的功能,整体流程如下:处理需要的数据集,这里使用了MNIST数据集。定义一个网络,这......
  • echarts爆错invalid dom
    错误截图 错误原因:将初始化echarts的方法放在了created中,解决:将其放在mounted中 ......
  • vue3学习中使用vue-router@4的问题Invalid VNode type: undefined (undefined)
    首先是按照常规的箭头函数引入的方法,结果报一下错误,且页面报错constHelloWorld=()=>import('../components/HelloWorld.vue'); 解决办法import{defineAsyncComponent}from'vue'constHelloWorld=defineAsyncComponent(()=>import('../components/HelloWorld.vue......
  • Action请求后台出现Response already commited异常解决方法
    在编写导出功能使用action请求,在处理导出异常时期望跳转异常页,Controller中的方法返回类型String的url在处理完逻辑导出文件后后台控制台出现WARN [org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver](defaulttask-22)Handlingof[org.springfra......