搭建vue后台管理系统框架

news2024/11/25 14:57:28

第一步:创建vue项目vue create 项目名称,并安装element-ui
在这里插入图片描述

Vue CLI v3.1.3
? Please pick a preset: Manually select features
? Check the features needed for your project: Babel, Router, CSS Pre-processors, Linter
1、是否使用history模式的路由 选择 “N” 或者 “Y.
? Use history mode for router? (Requires proper server setup for index fallback in production) Yes
2CSS预处理器选择(vue2没有此选项)
? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default): Sass/SCSS
3、选择哪个ESLint自动化代码格式化检测
? Pick a linter / formatter config: 
  > ESLint with error prevention only
  	ESLint + Airbnb config
  	ESLint + Standard config // 标准
  	ESLint + Prettier
4、 选择语法检查的时期
? Pick additional lint features:
  >(*) Lint on save  //语法检查配置文件保存时检查
 	 ( ) Lint and fix on commit  //文件提交时检查
5、 配置文件的存放位置
? Where do you prefer placing config for Babel, PostCSS, ESLint, etc.? 
  > In dedicated config files  //放独立文件放置
  	In package.json  //放package.json里
6、是否保存此预设(选择yes的话本次选择就会储存为一个模板)
? Save this as a preset for future projects? (y/N)
      

第二步:修改app.vue文件,引入home文件

<template>
  <div id="app">
    <Home></Home>
  </div>
</template>

<script>
import Home from './views/Home.vue'
export default {
    components:{
      Home
    }
}
</script>

第三步:修改home页面,并新建 SystemLayout 文件和 TopLayout 文件
在这里插入图片描述

<template>
  <el-container>
    <!-- 左侧导航 -->
    <el-aside width="103px">
      <div class="home-logo">
      	<!-- 左上角logo -->
        <img alt="" src="../assets/logo.png">
      </div>
      <SystemLayout></SystemLayout>
    </el-aside>
    <el-container>
      <!-- 顶部导航 -->
      <el-header height="40px">
        <TopLayout></TopLayout>
      </el-header>
      
      <el-main>
        <router-view/>
      </el-main>
    </el-container>
  </el-container>
</template>

<script>
import SystemLayout from '../layout/SystemLayout.vue';
import TopLayout from '../layout/TopLayout.vue';
export default {
    components:{
        SystemLayout,
        TopLayout
    }
}
</script>
<style scope>
  .home-logo {
    height: 100px;
    line-height: 100px;
  }
  .el-header {
    background-color: #fff;
    color: #333;
    line-height: 40px;
  }
  .el-aside {
    height: 100vh;
    background: #2D41FF;
    color: #fff;
    text-align: center;
    line-height: 200px;
  }
  .el-main {
    height: calc(100vh - 40px);
    background-color: #E9EEF3;
    color: #333;
    text-align: center;
    line-height: 160px;
  }
  .el-card__body,.playing { 
    padding: 0!important;
  }
  body > .el-container {
    margin-bottom: 40px;
  }
  .el-container:nth-child(5) .el-aside,
  .el-container:nth-child(6) .el-aside {
    line-height: 260px;
  }
  .el-container:nth-child(7) .el-aside {
    line-height: 320px;
  }
</style>

第四步:在两个导航文件中写入以下内容
systemLayout

<template>
 <div>
  <el-menu
    default-active="2"
    class="el-menu-vertical-demo"
    background-color="#FFFFFF4D"
    router
    >
    <el-menu-item index="/live">
      <img src="" alt="">
      <span slot="title">菜单1</span>
    </el-menu-item>
  </el-menu>
 </div>
</template>

<style scope>
.el-menu {
  border: 0;
}
.el-menu-item {
  width: 100%;
}
.el-menu-item.is-active {
  color: #fff;
}
</style>

TopLayout

<template>
  <div class="container">
    <div class="top-news">顶部导航</div>
    <div class="top-userinfo">
      <div @click="goUserInfo">
        用户
      </div>
    </div>
  </div>
</template>

<script>
import { mapMutations } from 'vuex';

export default {
  computed: {
  },
  methods:{
    ...mapMutations(['goAsideStatus']),
    goUserInfo(){
      if( this.$route.path != '/userinfo' ){
        this.$router.push({
          name:"Userinfo"
        })
        this.goAsideStatus()
      }
    }
  }
}
</script>

<style scoped>
  .container {
    display: flex;
    justify-content: space-between;
  }
  a,.router-link-active {
    text-decoration: none;
    color: #333;
  }
</style>

在这里插入图片描述
路由文件:

import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

const routes = [
  {
    path: "/",
    redirect: "/live",
  },
  {
    path: '/home',
    name: 'Home',
    component: () => import('../views/Home.vue')
  },
  {
    path: '/live',
    name: 'LiveAdmin',
    component: () => import('../views/live/live-admin.vue'),
    meta:{
      istrun:true
    },
  },
  {
    path: '/live-detail',
    name: 'liveDetail',
    component: () => import('../views/live/live-detail.vue'),
    meta:{
      istrun:true
    },
  },
  {
    path: '/userinfo',
    name: 'Userinfo',
    component: () => import(/* webpackChunkName: "about" */'../views/user/userinfo.vue')
  }
]

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes
})

export default router

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1090578.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Express】静态资源

通过 Express 内置的 express.static 可以方便地托管静态文件&#xff0c;例如图片、CSS、JavaScript 文件等。 将静态资源文件所在的目录作为参数传递给 express.static 中间件就可以提供静态资源文件的访问了。 // 配置静态资源 app.use(express.static(public)); app.use(…

条件表达式

1.语法&#xff1a; 如果写范围&#xff0c;case不用写字段名 内容&#xff1a;case 字段名 when 值/或者值的范围 then 转化成的值 as 列名 end 语义&#xff1a;选择转换后新起一列 as不写默认text 2.其他用法&#xff1a; 2.1.计次 count&#xff08;...&#xff09;…

Master PDF Editor v5.9.70便携版

软件介绍 Master PDF Editor中文版是一款小巧的多功能PDF编辑器,可以轻松查看,创建,修改,批注,签名,扫描,OCR和打印PDF文档.高级注释工具,可以添加任意便笺指示对象突出显示,添加下划线和删除,而无需更改源PDF文件. 软件截图 更新日志 code-industry.net/what-is-new-in-mas…

【原创】在Linux上安装Zabbix客户端

检查Linux版本 cat /etc/issue得到结果 Ubuntu 18.04.2 LTS \n \l 下载软件 到 Zabbix官网&#xff08;https://www.zabbix.com/&#xff09; 依次点击 Download>Zabbix Packages>Choose your platform>ZABBIX VERSION>6.4>OS DISTRIBUTION>Ubuntu>OS …

[科研琐事] 安装服务器到机柜的二三事

1. 机柜参数 宽度&#xff1a;一般机器都是符合的&#xff1b; 深度&#xff1a;对应服务器最长的那个边&#xff1b; 厚度&#xff08;高度&#xff09;&#xff1a;1/2/3/4U&#xff0c;就是机柜上写的刻度数字&#xff0c;1U1.75英寸。 1U4.45cm 2U4.45cm * 2 3U4.45cm * …

关于LEFT JOIN的一次理解

先看一段例子&#xff1a; SELECTproduct_half_spu.id AS halfSpuId,product_half_spu.half_spu_code,product_half_spu.half_spu_name,COUNT( product_sku.id ) AS skuCount,product_half_spu.create_on,product_half_spu.create_by,product_half_spu.upload_pic_date,produc…

业务安全五重价值:防攻击、保稳定、助增收、促合规、提升满意度

目录 防范各类威胁攻击 保障业务的连续性和稳定性 保障业务的合规性 提升企业营收和发展 提升企业满意度和品牌知名度 2023年暑假被“票贩子”和“黄牛”攻陷。他们利用各种手段抢先预约名额&#xff0c;然后加价出售给游客&#xff0c;导致了门票供不应求的局面&#xff…

CNN-generated images are surprisingly easy to spot... for now

CNN-generated images are surprisingly easy to spot… for now----《目前CNN生成的图像非常容易被发现》 背景&#xff1a; 研究者们发现&#xff0c;仅仅对一种由CNN模型生成的图像进行训练的分类器&#xff0c;也可以检测许多其他模型生成的结果。由此提出这样的观点&#…

thinkphp5.1 获取缓存cache(‘cache_name‘)特别慢,php 7.0 unserialize 特别慢

thinkphp5.1 获取缓存cache(‘cache_name’)特别慢&#xff0c;php 7.0 unserialize 特别慢 场景&#xff1a; 项目中大量使用了缓存&#xff0c;本地运行非常快&#xff0c;二三百毫秒&#xff0c;部署到服务器后 一个表格请求就七八秒&#xff0c;最初猜想是数据库查询慢&am…

Java进阶 之 再论面向对象(2)——类的定义及对象的使用 封装Encapsulation 关键字private,this

前言 在上一篇博客中&#xff0c;我们从面向过程和面向对象的编程思想谈起&#xff0c;阐述了类和对象在Java中的编程中的应用&#xff0c;此外&#xff0c;对于对象的内存&#xff0c;变量作用域&#xff0c;参数传递等进行了阐述。 Java进阶 之 再论面向对象&#xff08;1&…

噪声主动控制装置设计

目录 摘 要...................................................................................... 2 第一章 绪论........................................................................ 6 1.1 研究课题背景...................................................…

C++——多态调用和普通调用的本质区别

目录 一.多态特性 回顾一下多态特性的含义&#xff1a; 回顾多态特性的两大形成条件&#xff1a; 而普通调用和多态调用的本质区别在于&#xff1a; 二.理解调用 例一&#xff1a; 普通调用的理解1&#xff1a; 普通调用的理解2&#xff1a; 注&#xff1a;错误代码的…

【mfc/VS2022】计图实验:绘图工具设计知识笔记

绘制曲线&#xff08;贝塞尔曲线&#xff09;&#xff1a; 转自&#xff1a;CDC 类 | Microsoft Learn 绘制一条或多条贝塞尔曲线。 BOOL PolyBezier(const POINT* lpPoints,int nCount);参数 lpPoints 指向包含曲线端点和控制点的 POINT 数据结构数组。 nCount 指定 lpPo…

移远通信C-V2X模组产品 助力车载生态建设跑出“加速度”

10月11日&#xff0c;移远通信受邀参加“长安创新驱动数智未来”行业研讨会。 本次会议围绕车载行业智能化转型取得的阶段性技术与终端成果展开讨论&#xff0c;旨在持续助力汽车行业智能出行的变革。移远通信产品总监侯海燕于会议上针对当下车载行业发展热点——C-V2X技术的相…

面经-北京泛微二面-Java开发

北京泛微二面-Java开发。以下内容为面试复盘&#xff0c;面试官问题无改动&#xff0c;回答已进行修正。 自我介绍 我是XXXX&#xff0c;来自XXX… 面试官提问&#xff1a; 1.像这些比赛的话&#xff0c;你是自己参加还是社团的人一起参加&#xff1f; 答&#xff1a;大多…

vue打包压缩

参考 https://www.cnblogs.com/lafitewu/p/8309305.html 注意:方法1和方法2不能同时用 取消打包的map config/index.js的productionSourceMap设置为false 抽取js 将部分常用又比较大的组件直接抽取为一个单独的js 打开webpack.base.conf.js,在module.exports.entry中添加想…

docker 搭建本地Chat GPT

要在CentOS7上安装Docker&#xff0c;您可以按照以下步骤进行操作&#xff1a; 1、更新系统包列表 sudo yum update2、安装Docker存储库的必要软件包 sudo yum install -y yum-utils device-mapper-persistent-data lvm23、添加Docker存储库 sudo yum-config-manager --add…

格式工厂怎么把两个视频合并在一起

免费的工具谁不喜欢呢&#xff0c;今天为大家介绍的是格式工厂这款多功能视频转换软件&#xff0c;然而今天主要为大家介绍的是格式工厂的视频合并功能。 是的&#xff0c;你没有听错&#xff0c;格式工厂除了转换之外&#xff0c;还可以视频合适、视频剪辑、视频分割、去水印…

Python3无法调用Sqlalchemy解决(mysqldb)

原因 在安装Sqlalchemy后运行程序报错 无法导入mysqldb&#xff0c;缺失模块 ImportError: No module named ‘MySQLdb’ 既然缺少 MySQLdb 这个模块&#xff0c;尝试按照正常的想法执行 pip install MySQLdbpip install mysql-python 应该能解决&#xff0c;但是却找不到…

MyBatis基础之自动映射、映射类型、文件注解双配置

文章目录 自动映射原理jdbcType同时启用配置文件和注解两种配置方式 自动映射原理 在 MyBatis 的配置文件&#xff08;settings 元素部分&#xff09;中&#xff0c;有一个 autoMappingBehavior 配置&#xff0c;其默认值为 PARTIAL &#xff0c;表示 MyBatis 会自动映射&…