首页 > 编程语言 >一个超容易上手(简陋更简单)的纯前端框架!基于 Vue3 + JavaScript + Element Plus 的后台管理模板

一个超容易上手(简陋更简单)的纯前端框架!基于 Vue3 + JavaScript + Element Plus 的后台管理模板

时间:2024-12-29 16:26:47浏览次数:8  
标签:src 项目 JavaScript Element Vue3 组件 router 路由 页面

一、项目概述

本项目是一个纯前端的后台管理模板,采用 Vue3、JavaScript 和 Element Plus 进行开发,旨在为开发者提供一个高效、便捷的后台管理系统前端开发基础框架,具备动态路由、面包屑导航以及多页面打开等实用功能,可大大提升开发效率和用户体验。

二、环境准备

确保已安装 Node.js(建议版本 14 及以上)和 npm(通常随 Node.js 一起安装)。

三、项目安装与运行

  1. 克隆项目:从代码仓库将项目克隆到本地,使用命令 git clone [项目仓库地址]。
  1. 安装依赖:进入项目目录,执行 npm install,这将自动安装项目所需的所有依赖包,包括 Vue3、Element Plus 以及其他相关库。
  1. 启动项目:在终端执行 npm run serve,项目将启动一个本地开发服务器,默认访问地址为 http://localhost:8080,在浏览器中打开该地址即可看到项目的初始界面。

四、功能使用说明

1、登录

账号密码暂无限制,登录后会缓存token到会话,无token会自动跳转到登录页,可根据自己业务逻辑修改。 

2、动态路由

  • 路由配置文件位于 src/router/index.js。可以在其中定义静态路由和动态路由,动态路由在router.beforeEach中判断添加。
router.beforeEach(async(to, from, next) => {
  const token = sessionStorage.token
  if(to.path !== '/login' && !token) {
    next('/login')
  }else {
    const authRouterStore = useAuthRouterStore()
    let {routerList} = authRouterStore
    if(!routerList.length) {
      let dynamicRoutes = await getDynamicRoutes()
      // 动态添加路由
      let newRoutes = getAuthRouters(dynamicRoutes)
      authRouterStore.addRouterList(newRoutes)
      newRoutes.forEach(val => {
        router.addRoute(val)
      })
      next({ path: to.path })

    }else {
      next()
    }
    
  }
})

2、 面包屑导航

  • 面包屑组件已在项目中进行了全局配置,在每个页面组件中,无需额外复杂操作,面包屑会根据当前路由的嵌套关系自动生成并展示,显示用户当前所在页面的层级路径,方便用户进行页面导航和操作流程回溯。

3、 多页面打开

  • 项目中通过 Element Plus 的 el-tag组件结合 Vue Router 的编程式导航实现了多页面打开功能。在需要打开新页面的操作逻辑中(如点击菜单),使用 this.$router.push() 方法打开新的路由页面,并将新页面的路由信息添加到 el-tag 的数据源中,实现多页面的切换和管理,用户可以方便地在多个打开的页面之间进行切换操作,同时每个页面的状态将被独立保存。

五、项目结构介绍

  • src:
    • components:通用组件目录,如按钮、表格、图标等自定义组件,可在整个项目中复用。
    • router:路由相关配置和逻辑,包括动态路由设置。
    • assets:静态资源,用于存放公共css样式、图片等文件。
    • layout:通用框架,包括左侧菜单、面包屑、tag标签主体框架。
    • views:各个页面视图组件,每个页面对应一个 Vue 组件文件。
    • App.vue:根组件,是整个应用的入口点,用于全局布局和状态管理。
    • main.js:项目的入口文件,进行 Vue 实例的创建和全局配置。
  • public:存放公共资源,如 index.html 文件和静态图片等资源。

六、定制与扩展

  • 样式定制:在 src/assets/cover目录下可以编写自定义的 CSS 样式文件,通过在 Vue 组件中引入这些样式文件来覆盖 Element Plus 的默认样式,实现项目的个性化界面设计。
  • 功能扩展:开发者可以根据项目需求在已有功能模块上进行扩展,例如在 src/api 中添加新的接口请求函数,在 src/views 中创建新的页面组件,并在 src/router 中配置相应的路由信息,无缝接入到现有项目结构中,快速实现新的业务功能。

本项目为开发者提供了一个良好的后台管理系统前端开发起点,通过以上的使用说明,希望能够帮助大家快速上手并在实际项目中灵活运用,根据具体业务场景进行定制和扩展,打造出满足需求的高质量后台管理系统前端界面。

标签:src,项目,JavaScript,Element,Vue3,组件,router,路由,页面
From: https://blog.csdn.net/Jiaberrr/article/details/144806114

相关文章

  • WPF Viewport3D ModelVisual3D ModelUIElement3D GeometryModel3D
    //xaml<Windowx:Class="WpfApp109.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mi......
  • JavaScript引擎在优化标识符查询方面做了什么?
    JavaScript引擎在优化标识符查询方面采取了多种策略和技术,以提高代码执行效率和性能。以下是一些主要的优化方法:作用域链和变量对象的优化:JavaScript引擎通过创建作用域链来管理变量的访问。每个函数都有一个[[Scope]]属性,指向函数的作用域链。当函数执行时,会创建一个执行上下文......
  • 一文详解-JavaScript中 es5 原型和 es6-class
    一文详解-JavaScript中es5原型和es6-class原型真的有用吗有不少小伙子应该会有这个感觉大家都在说原型prototype很重要,那为什么我却用不到?原因不外乎这几个:框架重度使用者,我们目前的前端主流业务,几乎都是使用vue,react,微信小程序在开发项目。这些框架封装得太过......
  • 避坑指南:Element UI在Vue2项目开发中的那些坑与解
    文章目录一、引言二、ElementUI初体验之坑(一)安装后不生效解决方案:(二)组件引入报错解决方案:三、表单组件的那些“小脾气”(一)重置表单后无法输入(二)表单自动校验“抽风”解决方案:四、日期组件的“时差”问题(一)DatePicker日期难改解决方案:(二)datetime类型报错解......
  • vue3 axios导出 tar.gz圧缩包
    <el-buttonclass="submitconfirm"type="danger"@click="exportSubmitHandle">导出</el-button>  <scriptlang="ts"setup> import{Document,MenuasIconMenu,Location,Setting}from"@eleme......
  • HTML&CSS&JavaScript&DOM 之间的关系?
    一、HTML中文名:超文本标记语言   英文名:HyperText Markup LanguageHTML是一种用来结构化Web网页及其内容的标记语言。HTML由一系列的元素组成,这些元素可以用来包围不同部分的内容,使其以某种方式呈现或者工作。图Ⅰ每个元素中都可以有自己的一些属性图Ⅱ......
  • 项目开发实践——基于SpringBoot+Vue3实现的在线考试系统(三)
    文章目录一、各角色功能菜单设计1、管理员角色菜单设计1.1管理员主页设计1.2主页内相关组件设计1.2.1头部组件1.2.2左侧菜单组件1.3功能菜单路由设计1.4修改登录校验方法1.5效果展示2、老师角色功能菜单设计2.1老师角色主页设计2.2主页内......
  • Vue3甘特图 - dhtmlx-gantt
    Vue3甘特图<template><divstyle="height:100%;background-color:white"><divid="gantt_here"style="width:100%;height:100%;"></div></div></template><scriptsetup>import{......
  • Javascript数据结构常见题目(一)
    以下是每个问题的JavaScript实现:1.下一个更大元素(循环数组)functionnextGreaterElements(nums){letn=nums.length;letresult=Array(n).fill(-1);letstack=[];for(leti=0;i<2*n;i++){letnum=nums[i%n];......
  • Javascript数据结构常见面试题目(全)
    以下是一个前端JavaScript数据结构常见题目框架,可以帮助你快速组织思路并解决问题:框架内容1.数组相关查找与排序:寻找数组的最大/最小值。快速排序、归并排序、冒泡排序。操作:移除重复项:newSet()或双指针法。滑动窗口法:求最大/最小子数组和。二分查找:查找有序数......