查看原文
其他

基于Vite + Vue3 + NaiveUI + TypeScript的中后台管理模块,开源免费,漂亮实用,不容错过!

TJ TJ君 2022-05-13

大家好,我是TJ

关注TJ君,回复“武功秘籍”免费获取计算机宝典书籍

TJ君将之前发过的各种项目及工具进行了整理,收录到了GitHub项目,欢迎各位小伙伴光临Star,地址如下:https://github.com/Wechat-TJ/TJ-WORLD-FORU

昨天TJ君给大家分享了一个漂亮小姐姐鼓励学些各种语言的有趣项目,但似乎感兴趣的小伙伴不是很多,看来大家还是对学习更感兴趣!

那么今天TJ君就和大家分享一个即插即用又漂亮清新的中后台管理项目,Soybean Admin,让我们在周末快乐的学习起来!

Soybean Admin,是一个基于Vite + Vue3 + NaiveUI + TypeScript实现的免费开源的中后台模板项目。

项目内置丰富的各种配置,代码规范清晰,就算自己不用,拿来学习也是如教科书一般易于看懂上手。

TJ君总结了下,带大家来看看他的几大特点:

  • 技术栈丰富

包含:Vite2 + Vue3 + TypeScript + NaiveUI + Pinia + WindiCss + Axios + AntV + @vueuse + iconify,整体来说,使用了Vue3/vite2等前端前沿技术开发, 以及高效率的npm包管理器pnpm

  • 代码规范

项目具有严格的代码规范,例如:

1、eslint + prettier + eslint-config-airbnb-base + eslint-plugin-vue + eslint-plugin-import + @typescript-eslint/eslint-plugin等插件提供全面的代码格式规范,eslintrc的 import/order 规则规范了导入依赖的顺序。

2、husky + lint-staged + vuetsc + commitlint + commitizen 保证了提交的代码符合eslint规则和TS类型检测,提交的内容规范遵循了angular提交规范。

3、应用设计模式优化代码:项目里面多次用到策略模式替换if else

4、所有页面使用script-setup写法,并遵循特定顺序。

5、目录结构组织遵循特定规范,页面的写法严格遵循模块思想,使得每个页面的代码结构清晰明了。

  • 权限路由

项目使用简易的路由配置、基于mock的动态路由能快速实现后端动态路由,支持如下几个功能:

1、动态的路由数据由mock生成,前端添加动态路由

2、指定了mock路由的类型,方便快速对接后端

3、菜单由动态路由数据生成,支持隐藏指定菜单,支持多级菜单,支持外链打开

4、在多页签中的缓存的页面会记录滚动位置

5、面包屑数据由当前路由和菜单数据生成

  • 函数封装

对于各种请求函数进行了基于axios的完善封装:

1、可创建多个不同的baseUrl的请求实例。

2、将错误信息统一处理成特定格式,和请求成功的数据再按特定格式一起返回,减少对于各种错误的不知所措。

3、同时对于错误提示,自动智能提示错误,避免同一种错误在同一时间段显示。

4、无感刷新token,不影响用户体验。

5、根据不同的Content-Type转换数据,利用qs序列化数据,支持单文件和多文件上传。

6、封装的请求函数支持promisehooks两种, hooks的请求函数包含loading状态。

  • 丰富的主题

整体风格清新简洁,同时可以切换例如黑暗模式等各种主题风格及布局模式,并且支持项目logo自适应主题颜色。

  • 项目实际效果

项目安装也是非常方便,只需要下载代码,然后执行安装、运行、打包三个步骤即可:

//安装依赖
pnpm i

//运行
pnpm dev

//打包
pnpm build

觉得不错的小伙伴,赶紧学习起来,不要浪费周末的大好时光,fighting!项目地址如下:

点击下方卡片,关注公众号“TJ君

回复“Soybean2022”,获取仓库地址

关注我,每天了解一个牛x、好用、有趣的东东


往期推荐
无论你在学什么语言,都能有小姐姐来陪着你一起学习?
悄悄上微信,开源的摸鱼神器插件
开发做的好,产品无人识?来看看这个乌克兰小姐姐的产品营销分享心得吧

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存