首页 > 其他分享 >基于 Vue3 + TS 的前端结构

基于 Vue3 + TS 的前端结构

时间:2023-06-04 20:56:09浏览次数:47  
标签:样式 svg 前端 TS token mock Vue3 config vite

效果预览:

1 构建工具

构建工具选择 vite ,它是一个基于原生 ES 模块的开发服务器,能显著提升开发体验。
参考:https://cn.vitejs.dev/guide/

2 样式处理

  • 样式预处理器选择 less
  • 重置原生样式
  • 抽离通用样式,比如 flex 布局、内外边距、鼠标样式等

3 使用 svg 图标

使用 vite-svg-loader 加载 svg 图标

// vite.config.ts
import svgLoader from 'vite-svg-loader'
plugins: [vue(), vueJsx(),svgLoader()],

// 在组件中引入 svg 文件
import LogoIcon from '@/assets/assets-logo-bee.svg';
<component :is="LogoIcon" class="icon" />

4 请求封装

axios 做最简单的封装即可,主要包括:携带 token、请求前缀、默认 Content-Type

function createRequestFunction(service: AxiosInstance) {
  return function <T>(config: AxiosRequestConfig): Promise<T> {
    const configDefault = {
      headers: {
        Authorization: "Bearer " + getToken(),
        "Content-Type": get(config, "headers.Content-Type", "application/json")
      },
      timeout: 5000,
      baseURL: import.meta.env.VITE_BASE_API,
      data: {}
    }
    return service(Object.assign(configDefault, config))
  }
}

mock 数据:
使用 vite-plugin-mock 插件,mock 接口写在 mock 目录下

5 路由权限

通过在 beforeEach 钩子中判断是否存在 token,如果不存在则跳到登录页,存在则正常访问页面,当请求接口返回401则表明 token 已过期,此时清空 token 并强制属性页面,将重定向到登录页。

标签:样式,svg,前端,TS,token,mock,Vue3,config,vite
From: https://www.cnblogs.com/new-bee-2023/p/17456296.html

相关文章

  • requests模块 编码和wireshark测试
    结合wireshark进行测试、分析1、编码问题1.1url路径url路径中包含敏感字符,不会被url编码的字符包括:'=;,!*-会被url编码的字符包括:"<>\\非ascii字符会先进行utf-8编码,再进行url编码。比如字符'时'编码为%E6%97%B61.2直接参数和url具有基本一致的编码和非编码字符,新增......
  • 资源: 前台美工和Bootstrap资源收集
    Bootstrap资源:兼容性不错的简洁Bui+Bootstrap后台管理系统模板[url]http://www.js-css.cn/divcss/admin/bui-bootstrap[/url],下载[url]http://www.js-css.cn/a/css/template/admin/2013/1108/1023.html[/url]值得收藏!4个Bootstrap3开发的后台管理模板......
  • 基于Admin.NET框架的前端的一些改进和代码生成处理(2)
    在上篇随笔《基于Admin.NET框架的前端的一些改进和代码生成处理(1)》中大致介绍了一些关于对Admin.NET框架的前端的改造工作,主要目的就是希望能够增加前端代码的简洁性和可读性,以及利用代码生成工具来快速生成相关的代码,从而减少开发过程中的繁琐问题。本篇随笔继续探讨一下,对其中一......
  • 基于Admin.NET框架的前端的一些改进和代码生成处理(1)
    Admin.NET是一套基于Furion/.NET6实现的通用管理平台,模块插件式开发,框架包含了常规的权限管理、字典等管理模块,以及一些Vue3的Demo案例,框架前后端分离。后端基于基于Furion/.NET6实现,底层集成SqlSugar;前端则是采用Vue-Next-Admin的前端框架,整体是一套非常不错的框架。本人比较喜......
  • 前端可直接拿来用的代码(更新ing)
    1、清除浮动双伪元素法(既解决外边距塌陷问题,又能清除浮动影响).clearfix::before,.clearfix::after{content:"";display:table;}.clearfix::after{clear:both;} 2、清除默认样式*{margin:0;padding:0;box-sizing:border-box;}li{......
  • 关于echarts无法在mounted中渲染的问题
    最初实现:echarts图标被单独作为一个组件引入,通过传入数据来显示。<divclass="echart"><divclass="echarts-cont"><Charts:dataList="list":total="total"></Charts></div>echarts组件代码:exportdefault{name:"......
  • requests模块
    1、介绍requests是python用于处理http/https的一个第三方库,需要pip安装。注意避免安装request模块,这是一个恶意黑客仿照requests定制的模块Pythonrequests模块|菜鸟教程(runoob.com)Requests:HTTPforHumans™—Requests2.31.0documentation2、request函数def......
  • socket.io-client+Vue3使用
    客户端代码服务端代码......
  • 【1对1咨询】前端和后端,哪个更简单?转行程序员的捷径
    大家好,这里是程序员晚枫,专注于转行程序员的1对1咨询,小红薯也叫这个名。想转行程序员的朋友,在选择方向的时候都会遇到一个问题:哪个技术方向适合我?前端和后端哪个更简单?今天咱们就来一起分析一下~1、一样难很多网上的消息或者培训机构的广告会告诉你:前端比后端简单。这种回复,更多......
  • 由“Jasperrpeorts 4.1.2升级到5.1.2对flex项目的解析”到AS3 带命名空间的XML的操作
    项目中,对Jasperrpeorts-4.1.2核心包进行了升级,发现,前端flex无法对Jasperrpeorts的格式进行解析了~iReport4.1设计的模版可以解析,而iReport4.6设计的模版就不行了~断点后,对比了从后台传过来的Jasperrpeorts的xml数据,发现存在差异 4.1.2包生成的xml数据jasperPrint标签......