如果你还不知道 Fantastic-admin 是什么,那么我先用几张预览图给大家了解一番。

看来预览图,如果你感兴趣,可以点这里来详细了解并试用,这是一款完成度极高,开箱即用的后台框架,并且刚刚发布了 Vue3 版本支持。

回归正题

vue-element-admin 做为一款知名度相当高的后台框架,是很多刚接触后台开发的开发人员首选框架,但由于其作者似乎并不太关注这款作品,并且也无任何 Vue3 版本的相关动向,导致在 Github 仓库里堆积了近千个未关闭的 issues 。

开发者在使用过程中遇到的很多问题,在其社区里提供的解决方案都是需要修改框架源码,这也让市面上出现了很多基于 vue-element-admin 的魔改版本。但大部分也只是小修小改,如果要修改到框架本身的设计,都是牵一发而动全身的。这也是我早期使用 vue-element-admin 开发后的一些感触,于是才下定决定自己写一套可高度配置化的后台框架。

虽然上面说的已经是我几年前的经历了,但相信现在依旧有很多开发者还在使用 vue-element-admin ,有的想找替代产品,但又嫌迁移工作太麻烦,毕竟迁移工作的前提是要了解两套框架的差异,才可以确保迁移工作的正常进行。

那么这篇文章,将会尽可能详细的介绍 vue-element-admin 和 Fantastic-admin 在使用上的差异,给还在犹豫是否要替换 vue-element-admin 的小伙伴一点点参考。

因为 Fantastic-admin 已经提供了 Vue3版本 ,所以本篇文章会以 Vue3版本 为最终迁移目标。当然 Vue2版本 在大部分情况下也适用。

准备工作

首先你需要准备一份 Vue3版本 的模版源码,并确保能在本地正常启动运行。

# 最简单的方式,克隆一份源码到本地
git clone -b template https://gitee.com/hooray/fantastic-admin.git# 然后进入项目
cd fantantic-admin# 安装依赖
pnpm install# 运行
pnpm run dev

其次建议你先完整阅读一遍 Fantastic-admin 的文档后,对其有个大致的了解后,再阅读下面的差异。

差异

环境配置

得益于 vue-element-admin 的功能简单,环境配置里只能设置 VUE_APP_BASE_API ,在 Fantastic-admin 里对应的是 VITE_APP_API_BASEURL 这个参数。

当然在 Fantastic-admin 还提供了页面标题、调试工具、构建压缩等一系列的配置,详细可阅读《配置 - 环境配置》。

框架配置

vue-element-admin 一共只提供了 6 个配置项(title showSettings tagsView fixedHeader sidebarLogo errorLog),并且大部分都是界面布局上的设置,建议这部分可直接参考 Fantastic-admin 的框架配置文件,我们提供了更丰富的界面布局设置。

主题

很遗憾,vue-element-admin 没有提供主题配色的功能,而 Fantastic-admin 里可以自定义主题配色方案,详细可阅读《主题》。

全局资源

SVG 图标

vue-element-admin 将 svg 文件存放在 ./src/icons/svg/ 目录下,这部分的 svg 文件可直接拷贝到 Fantastic-admin 的 ./src/assets/icon/ 目录下,并且我们还提供了 <svg-icon /> 组件方便直接使用,详细可阅读《全局资源 - SVG图标》。

图片

vue-element-admin 将图片存放在 ./src/assets/ 目录下,这部分的图片资源可直接拷贝到 Fantastic-admin 的 ./src/assets/images/ 目录下即可。

精灵图

这是 Fantastic-admin 单独提供的特性,如果在项目中使用了较多尺寸不大的素材图,你可以考虑使用精灵图的方式将多张小图合并成一张大图,通过 css 背景图定位的方式去展示使用,详细可阅读《全局资源 - 精灵图》。

样式

vue-element-admin 将样式存放在 ./src/styles/ 目录下,这个目录存放的基本是和框架相关的样式,迁移过程中基本是无需关注的,你只需要关注你新增的样式文件,将这些文件拷贝到 Fantastic-admin 的 ./src/assets/styles/ 目录下,并在相关使用到的地方引入即可。

另外 Fantastic-admin 还提供了一个 ./src/assets/styles/resources/ 目录用来单独存放 SCSS 资源,这个目录下的文件会被框架自动引入,可在页面上直接使用,详细可阅读《全局资源 - 样式》。

组件

vue-element-admin 将组件存放在 ./src/components/ 目录下,并且使用时需要单独注册,而 Fantastic-admin 提供的全局组件会在使用的时候自动注册,效果与 vue-element-admin 一致,但使用体验却更棒。你只需将全局组件同样放到 Fantastic-admin 的 ./src/components/ 目录下即可在页面中直接使用,详细可阅读《全局资源 - 组件》。

与服务端交互

vue-element-admin 的 ./src/utils/request.js 对应了 Fantastic-admin 的 ./src/api/index.js 文件,它们都对 axios 进行了封装,便于统一处理 POST 和 GET 请求,你可以根据原有的配置逐行迁移代码。

另外在 vue-element-admin 的 ./src/api/ 目录下存放了以模块为维度拆分的独立文件,方便统一管理不同模块的所有接口请求,这在大型项目中是很有必要的,而 Fantastic-admin 并未提供特定目录,如果你有这个需求,可以自行建立一个文件夹用来管理这部分文件。

路由

Fantastic-admin 借鉴了 vue-element-admin 通过路由生成导航栏的思路,都是在路由里增加导航配置参数,只不过 Fantastic-admin 将额外的导航配置参数统一都放在的 meta 对象中。下面这个对比表格能帮助里快速了解 vue-element-admin 和 Fantastic-admin 对应的配置项。

vue-element-admin Fantastic-admin 说明
hidden meta.sidebar 是否在导航栏里显示
alwaysShow / 并未提供该设置,因为在 Fantastic-admin 里自动处理的
meta.roles meta.auth Fantastic-admin 可兼容 vue-element-admin 的权限设计模式,并提供了更高级的权限模式
meta.title meta.title 导航标题
meta.icon meta.icon 导航图标
meta.noCache meta.cache vue-element-admin 的 noCache 与 Fantastic-admin 的 cache 都是对页面缓存的配置,但背后的逻辑和使用方式却完全不一样
meta.breadcrumb meta.breadcrumb 是否在面包屑导航里显示
meta.affix / 标签页是否固定,在 Fantastic-admin 中,标签页是可以通过右键标签页手动设置固定,而非在路由配置里固定写死
meta.activeMenu meta.activeMenu 高亮指定导航

除了以上 vue-element-admin 提供的配置项之外,Fantastic-admin 还提供了很多额外的配置项,详细可阅读《路由 - 导航配置》。

页面缓存

在 Fantastic-admin 里你可以理解只有二级路由缓存,因为我们提供了一个特性,不管路由配置多少层级,最终都会被处理成二级,但是可以放心,仅仅是路由被处理成二级,而导航和面包屑导航依旧是保持原有的层级结构展示。

这么做的目的也是为了彻底解决多级路由缓存的问题,相信你一定在 vue-element-admin 里遇到过这类问题,社区里的解决方案也五花八门,始终没有一个统一的解决方案。

所以 Fantastic-admin 提供了一个一劳永逸的解决办法,详细可阅读《页面缓存》。

最后

本篇迁移文档仅对整体做简单说明,迁移项目毕竟是个庞大工程,过程中难免会出现各种无法预测的问题,建议可以加讨论群自由讨论寻求帮助。

如何从 vue-element-admin 迁移到 Fantastic-admin相关推荐

  1. Vue Element Admin 使用mock模块模拟数据

    Mock 数据是前端开发过程中必不可少的一环,是分离前后端开发的关键链路.通过预先跟服务器端约定好的接口,模拟请求数据甚至逻辑,能够让前端开发更加独立自主,不会被服务端的开发所阻塞. vue-elem ...

  2. vue+element+admin(初始化项目)

    2022.10.17我接触到了vue+element+admin的使用,首先要安装node.jshttps://nodejs.org/zh-cn/download/.和githttps://git-s ...

  3. RuoYi Vue - 若依框架的 Vue 版本,免费开源、生态强大、专业的 admin 后台管理系统,基于 Vue + Element

    有一段时间没有推荐 admin 框架了,若依这款后台框架很强大,提供了 vue 版本,很实用,推荐给大家. 关于若依 RuoYi 中文名称叫若依,名字十分二次元,是一个后台管理系统,后端基于经典技术组 ...

  4. vue element admin登录方式切换(密码登录或短信登录)

    显示结果: 具体代码可以根据vue element admin源码进行更改,下面是页面代码 <el-form ref="loginForm" :model="log ...

  5. Vue + Element UI——侧边栏LOGO设计DEMO

    GitHub https://github.com/PanJiaChen/vue-element-admin DEMO https://panjiachen.github.io/vue-element ...

  6. 基于vue(element ui) + ssm + shiro 的权限框架

    zhcc 基于vue(element ui) + ssm + shiro 的权限框架 引言 心声 现在的Java世界,各种资源很丰富,不得不说,从分布式,服务化,orm,再到前端控制,权限等等玲琅满目 ...

  7. Habit-基于JFinal+vue+element的后台通用模板项目

    介绍 长期做外包,一直想找个时间整理下一款简单实用的后台管理系统,奈何一直没找到合适的,就花了点时间自己东看看,西凑凑整了一套. 基于JFinal的后台管理系统,采用了简洁强大的JFinal作为web ...

  8. Spring Boot Vue Element入门实战(完结)

    最近给朋友做一个大学运动会管理系统,用作教学案例,正好自己也在自学VUE,决定用spring boot vue做一个简单的系统.vue这个前端框架很火,他和传统的Jquery 编程思路完全不一样,Jq ...

  9. Vue+element+axios+tornado前后端一体化开发环境配置笔记

    Vue+element+axios+tornado开发环境配置笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/ex_net/article/d ...

  10. vue+element项目 手机号、邮箱校验 保姆级教程

    vue+element项目 手机号.邮箱校验 保姆级教程 (包含注意点) 先看案例:在vue+element项目中给表单中的手机号和邮箱做校验 标题先说注意点 prop黄色框框起来的一定要有 废话不多 ...

最新文章

  1. linux scp移动文件夹,linux scp远程拷贝文件及文件夹
  2. CentOS7定制封装发行版-基于CentOS minimal
  3. 在php中存redis数据,redis缓存都存哪些数据
  4. 路由系统(urls.py)
  5. 品茗论道说广播(Broadcast内部机制讲解)
  6. linux下为PHP扩展安装memcache模块
  7. 前端学习(3014):vue+element今日头条管理--自定义验证
  8. mac 查看端口并终结
  9. oracle operation_type,oracle静默安装
  10. srsLTE源码学习:GTP:GPRS Turning Protocol- GPRS隧道协议
  11. IE6 透明遮挡falsh解决方案
  12. 【数据集】机器学习数据集汇总(附下载地址)
  13. Ubuntu下使用date显示毫秒级
  14. Linux下的SD卡分区--解决sd卡分区损坏
  15. SAP BASIS ADM100 中文版 Unit 7(1)
  16. 三分建设,七分运营|用现代化安全运营应对数据安全风险
  17. C语言union总结
  18. 百人计划 美术 1.1 美术理论基础
  19. extjs的简单使用
  20. 开源中国源码学习(一)——简介

热门文章

  1. Detecting Deep-Fake Videos from Appearance and Behavior
  2. 电脑远程桌面连接怎么操作?
  3. Java面试题汇总与解答
  4. vim/gvim 主题配色方案下载 安装修改配置
  5. 如何将小程序代码上传到腾讯云服务器
  6. python创建通讯录_python实现简易通讯录修改版
  7. [MAC 苹果电脑] [装双系统] “苹果电脑装Windows双系统”讲解
  8. 3w服务器把信息组织成,HTML小白入坑日记~qwq
  9. C/C++牛客网刷题练习之翻转链表篇
  10. STM32基础12--数模转换(DAC)