vue-element-admin配置小结

目录
  • 1. 项目初始化
  • 2. 项目精简
  • 3. 项目配置
  • 4. 项目结构分析

1. 项目初始化

git clone https://github.com/PanJiaChen/vue-element-admin
cd vue-element-admin
npm install
npm run dev

2. 项目精简

删除scr/views下的源码, 保留:

  • dashboard:首页
  • error-page:异常页面
  • login:登录
  • redirect:重定向

对src/router/index 进行相应修改

import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

/* Layout */
import Layout from '@/layout'

/**
 * Note: sub-menu only appear when route children.length >= 1
 * Detail see: https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
 *
 * hidden: true                   if set true, item will not show in the sidebar(default is false)
 * alwaysShow: true               if set true, will always show the root menu
 *                                if not set alwaysShow, when item has more than one children route,
 *                                it will becomes nested mode, otherwise not show the root menu
 * redirect: noRedirect           if set noRedirect will no redirect in the breadcrumb
 * name:'router-name'             the name is used by <keep-alive> (must set!!!)
 * meta : {
    roles: ['admin','editor']    control the page roles (you can set multiple roles)
    title: 'title'               the name show in sidebar and breadcrumb (recommend set)
    icon: 'svg-name'             the icon show in the sidebar
    noCache: true                if set true, the page will no be cached(default is false)
    affix: true                  if set true, the tag will affix in the tags-view
    breadcrumb: false            if set false, the item will hidden in breadcrumb(default is true)
    activeMenu: '/example/list'  if set path, the sidebar will highlight the path you set
  }
 */

/**
 * constantRoutes
 * a base page that does not have permission requirements
 * all roles can be accessed
 */
export const constantRoutes = [
  {
    path: '/redirect',
    component: Layout,
    hidden: true,
    children: [
      {
        path: '/redirect/:path(.*)',
        component: () => import('@/views/redirect/index')
      }
    ]
  },
  {
    path: '/login',
    component: () => import('@/views/login/index'),
    hidden: true
  },
  {
    path: '/auth-redirect',
    component: () => import('@/views/login/auth-redirect'),
    hidden: true
  },
  {
    path: '/404',
    component: () => import('@/views/error-page/404'),
    hidden: true
  },
  {
    path: '/401',
    component: () => import('@/views/error-page/401'),
    hidden: true
  },
  {
    path: '/',
    component: Layout,
    redirect: '/dashboard',
    children: [
      {
        path: 'dashboard',
        component: () => import('@/views/dashboard/index'),
        name: 'Dashboard',
        meta: { title: 'Dashboard', icon: 'dashboard', affix: true }
      }
    ]
  }
]

/**
 * asyncRoutes
 * the routes that need to be dynamically loaded based on user roles
 */
export const asyncRoutes = [
  // 404 page must be placed at the end !!!
  { path: '*', redirect: '/404', hidden: true }
]

const createRouter = () => new Router({
  // mode: 'history', // require service support
  scrollBehavior: () => ({ y: 0 }),
  routes: constantRoutes
})

const router = createRouter()

// Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
export function resetRouter() {
  const newRouter = createRouter()
  router.matcher = newRouter.matcher // reset router
}

export default router

删除 src/router/modules 文件夹

删除 src/vendor文件夹

3. 项目配置

进入src目录下的settings.js配置文件

module.exports = {
  title: 'Project Title',
  showSettings: true,
  tagsView: true,
  fixedHeader: false,
  sidebarLogo: false,
  errorLog: 'production'
}

3.1 项目标题

在src/settings.js 配置项目标题

3.2 showSettings

showSettings用来设置是否显示控制面板,设置为false则不显示

3.3 tagsView

tagsView是我们打开某个页面是否有页面标签

3.4 fixedHeader

fixedHeader是内容页面向下滑动时头部是否固定,false是不固定, true是固定

3.5 sidebarLogo

sidebarLogo控制菜单栏上方是否显示图标

3.6 源码调试

打开vue.config.js文件

找到如下图的位置

cheap-source-map调试模式没有完全编译展示我们的源代码

我们改成source-map调试模式,这时候再来看Sources的App.vue文件,已经和源代码显示的一样,在这样的环境下调试我们会更加方便
但是source-map有一个缺点,每当我们程序有改动时,也需要同步生成source-map文件,这样会使我们构建变慢,在实际开发过程中推荐使用eval,以增加构建速度 在需要调试的时候使用source-map

4. 项目结构分析

  • api :接口请求
  • assets :一些静态文件
  • components : 封装组件
  • direcetive :自定义指令
  • filters :过滤器
  • icons :图标
  • layout :全局框架组件(非常重要)
  • router :路由
  • store :配置vuex
  • styles :全局样式文件
  • utils :工具类
  • views :页面组件
  • App.vue :父组件,其他的组件都是嵌套在App.vue里
  • main.js :全局入口文件,将App.vue设置为全局父组件进行渲染
  • permissions.js :登录的校验和登录之后的路由跳转
  • setting.js :配置文件

到此这篇关于vue-element-admin配置小结的文章就介绍到这了,更多相关vue-element-admin配置内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • vue-element-admin如何转换成中文

    目录 vue-element-admin转换成中文 vue-element-admin中文问题 vue-element-admin转换成中文 从admin官网上git下来的默认是英文,是修改不了语言的. 如果需要转换成中文,在vscode终端里git checkout i18n,然后npm install,npm run dev之后就是中文的了 如图: vue-element-admin中文问题 今天刚看到vue-element-admin项目,下载下来后发现是英文的 要切换成中文,需要下载它的

  • vue-element-admin 全局loading加载等待

    最近遇到需求: 全局加载loading,所有接口都要可以手动控制是否展示加载等待的功能 百度了一下,发现好多是写在拦截器内的,在拦截器内调用element ui的loading方法,在接口请求的时候开始启动加载loading,在接口返回和接口报错抛异常的时候关闭loading 在这个思路上改动了一下,因为和我的需求有一点不同,我们的需求是可以手动控制是否展示加载等待的功能,既然是手动控制那么肯定不能直接在拦截器里面才开始调用loading方法了,往前推一步,在调接口的时候就开始控制是否启用loa

  • vue-element-admin搭建后台管理系统的实现步骤

    近期在搞一个会议健康申报系统时,要搞一个后台,用到了vue-element-admin模板,使用的是PanJianChen(源码地址:https://github.com/PanJiaChen/vue-admin-template) 第一步:当前是下载源码了,下载地址:https://github.com/PanJiaChen/vue-admin-template 第二步:修改登录页面,登录接口(/store/modules/admin.js/login()),根据实际情况修改用户信息接口(/s

  • vue-element-admin项目导入和导出的实现

    vue-element-admin导入组件封装 模板和样式 首先封装一个类似的组件,首先需要注意的是,类似功能,vue-element-admin已经提供了,我们只需要改造即可 excel导入功能需要使用npm包xlsx,所以需要安装xlsx插件 npm i xlsx 将vue-element-admin提供的导入功能新建一个组件,位置: src/components/UploadExcel import CommonTools from './CommonTools' import Uploa

  • vue-element-admin如何设置默认语言

    目录 vue-element-admin设置语言 vue-element-admin使用常见问题 vue-element-admin添加快捷导航 去掉Mock使用真实数据. vue-element-admin设置语言 今天下了一个vue-element-admin框架来玩玩儿,下完之后发现默认语言是英文的,那可不行. 后来发现自己下错了,其实这个应该是这样的,如果要中文版,你要下载 i18n 分支的才行,地址是这个 i18n 分支 . 下载完之后然后还需要改一个地方,\src\lang\inde

  • Vue-Element-Admin集成自己的接口实现登录跳转

    1.先看一下请求配置文件,看axios.create这个方法,baseURL是基础路由 baseURL:process.env.VUE_APP_BASE_API, 路径:src-utils-request.js 2.然后再看service.interceptors.request.use,设置token请求头,我后端集成的是jwt,所以请求头是Authentication,如图 config.headers['Authentication'] = getToken() 3.设置自己的状态码,看s

  • vue-element-admin下载到登录的一些坑

    快速上手 官方文档:https://panjiachen.github.io/vue-element-admin-site/zh/guide/ 启动项目 拉取代码之后进行npm i 安装 ctrl -c 之后 执行命令:git config --global url."https://".insteadOf git:// 重新 npm i 成功! npm run dev 启动成功 依赖下载成功截图 另外npm i之后也可能会发现其他的报错 具体哪些就不一一列举了,我这边node版本 v

  • vue-element-admin登录全流程分享

    目录 1.安装最新的vue-element-admin 2.如有需要可以去掉eslint 3.删除所有的eslint文件 4.开始安装依赖包 5.启动服务 6.进入登录页面 7.后端编写登录接口 8.如需验证码,对登录页面进行改造 9.(重点)进行登录请求 10.刚刚发送的登录请求就进入下面这个函数里面去 1.安装最新的vue-element-admin 2.如有需要可以去掉eslint 在下面这个文件里面全局搜索 3.删除所有的eslint文件 4.开始安装依赖包 npm install 5.

  • vue项目proxyTable配置小结

    目录 前言 如何配置proxyTable 关于proxyTable的原理 前言 proxyTable是一个用于Vue.js应用程序的配置选项,它允许您在开发过程中代理后端API请求.这一功能的作用是解决由于浏览器的同源策略所限制而导致的跨域请求问题.当前端应用程序部署在一个Web服务器上并向不同的后端API发送请求时,这个功能就变得尤为重要. 在Vue.js应用程序中使用proxyTable的主要优点是能够简化配置,方便地进行本地开发和调试.在开发过程中,可以将所有的API请求都代理到本地的开发

  • vue+element项目中过滤输入框特殊字符小结

    可以在main.js中写入方法 Vue.prototype.validSe = function (value, number = 255) { value = value.replace(/[`-*~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]·~!@#¥%--&*()--\-+={}|<>?:""[].:'',..]/g, '').replace(/\s/g, ""); if (value.

  • 详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)

    动态表单生成 ElementUI官网引导 Element表单生成 Element动态增减表单,在线代码 关键配置 template中,form和form-item的写法和绑定 data里的值为空 methods中,向后台获取数据的函数写法  1. form,form-item,input的写法[^code] <el-form :model="dynamicValidateForm" label-width="120px" ref="dynamicVa

  • vue element后台鉴权流程分析

    前言: 最近项目遇到一个管理系统,感觉权限配置挺有意思,记录一下流程实现的过程,便于自己学习以及整理思路,部分思路整合在代码的注释中: 路由拦截鉴权常用的两种方法 1:路由拦截:单纯给路由加字段标识符,通过路由拦截实现 2:动态路由:第二种是通过路由的拆分另外需要后端的配合去实现的动态路由配置 比较: 路由拦截实现方式比较简单,只需要简单的在router.beforeEach中根据路由配置信息过滤页面是否有权限前往改组件,若相对于的权限不够则不前往相应的组件 动态路由实现相对比较复杂,并且需要后

  • Vue Element前端应用开发之菜单资源管理

    1.菜单资源及管理界面介绍 前面介绍过,权限管理一般都会涉及到用户.组织机构.角色,以及权限功能等方面的内容,ABP框架的基础内容也是涉及到这几方面的内容,其中它们之间的关系基本上是多对多的关系,它们的关系如下所示. 加入菜单资源,以及整理它们之间的关系和表的信息,整理图示如下. 结合ABP后端提供的接口,Vue前端我们要实现基础的用户.组织机构.角色.功能权限等内容的管理,以及维护它们之间的关系.Vue前端对于权限管理模块的菜单列表如下所示. 菜单列表管理界面如下图所示,主要包括树状列表展示菜

  • Vue+Element的后台管理框架的整合实践

    目录 Vue+ElementUI的后台管理框架 那什么是ElementUI? vue-element-admin 是一个后台前端解决方案 路由和配置左侧菜单 新开发的一个后台管理系统.在框架上,领导要用AdminLTE这套模板.这个其实很简单,把该引入的样式和js文件引入就可以了.这里就不多赘述了.可以参考官网:https://adminlte.io/ 效果图,如下: AdminLTE这个模板,还是很方便的.有兴趣的大家可以自行去琢磨.我只是把这个模板内嵌到新系统中去,也就没多去研究了. Adm

  • vue-element-admin配置小结

    目录 1. 项目初始化 2. 项目精简 3. 项目配置 4. 项目结构分析 1. 项目初始化 git clone https://github.com/PanJiaChen/vue-element-admin cd vue-element-admin npm install npm run dev 2. 项目精简 删除scr/views下的源码, 保留: dashboard:首页 error-page:异常页面 login:登录 redirect:重定向 对src/router/index 进行

  • django中的setting最佳配置小结

    Django settings详解 1.基础 DJANGO_SETTING_MODULE环境变量:让settings模块被包含到python可以找到的目录下,开发情况下不需要,我们通常会在当前文件夹运行,python可以搜索到.如果需要运行在其他服务器上,就必须指定DJANGO_SETTINGS_MODULE变量. 2.默认设定 一个django的settings文件不需要我们手动去设置所有项目,因为系统已经默认设置好了.我们只需要修改我们使用的设 定就好了.默认的设置在django/conf/

  • vue+element加入签名效果(移动端可用)

    下面介绍为了方便就把项目的文件叫作父组件,然后签名的那个组件叫作子组件 ! 如有不太明白的地方,多看看代码注释.为细节地方 1. 首先根据element ui 在父组件中设置好diglog弹框,并且在全局样式下,自定义样式 <div class="canva" @click="centerDialogVisible = true"> // click绑定的方法是element提供的 centerDialogVisibe=true 是点击时弹框出现 <

  • Vue + Element UI图片上传控件使用详解

    上一篇 Vue +Element UI +vue-quill-editor 富文本编辑器及插入图片自定义 主要是写了富文本编辑器的自定义及编辑器中图片的上传并插入到编辑内容,这篇文章单独介绍一下element UI 图片上传控件的使用.首先要安装element并中引入,安装引入过程这里不再赘述. 1.引用element 上传控件. <el-upload action="/mgr/common/imgUpload"//这里需要配置一下文件上传地址(跨域) list-type=&qu

随机推荐