当前位置: 首页 > news >正文

基于vue-cli创建后台管理系统前端页面——element-ui,axios,跨域配置,布局初步,导航栏

目录

  • 引出
  • 安装npm install
    • 安装element-ui
    • 安装axios
  • 进行配置
    • main.js中引入+添加jwt
    • 前端跨域配置
  • 进行初始布局
    • HomeView.vue
    • App.vue
  • 新增页面和引入
  • home页面导航栏
  • 总结

引出

1.vue-cli创建前端工程,安装element-ui,axios和配置;
2.前端跨域的配置,请求添加Jwt的设置;
3.进行初始化布局,引入新增页面的方式;
4.home页面导航栏的设置,一级目录,二级目录;


安装npm install

安装element-ui

npm i element-ui -S

在这里插入图片描述

安装axios

npm install axios

在这里插入图片描述

安装成功

在这里插入图片描述

进行配置

main.js中引入+添加jwt

在这里插入图片描述

import Vue from 'vue'
import App from './App.vue'
import router from './router'import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import axios from 'axios'// axios的前端请求拦截器,每次都会加headeraxios.interceptors.request.use(config => {let jwt = localStorage.getItem('jwt');if(jwt){config.headers.jwt = jwt; // {headers:{'jwt':jwt}}}return config;}
)Vue.prototype.$axios = axios
Vue.use(ElementUI);Vue.config.productionTip = falsenew Vue({router,render: h => h(App)
}).$mount('#app')

前端跨域配置

在这里插入图片描述

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({transpileDependencies: true,devServer: {port: 8080,proxy: {"/api": { // 1.修改端口号// (后端服务器地址)target: 'http://127.0.0.1:10002',   // 2.配置代理服务器changeOrigin: true, // 3.允许跨域请求pathRewrite: {// '^/api': '/' // 4.把代理路径的api删除,类似正则表达}}}}
})

进行初始布局

HomeView.vue

在这里插入图片描述

<template><el-container style="height: 100%"><el-header style="background-color: rgb(249, 195, 195);">Header</el-header><el-container><el-aside width="200px" style="background-color: rgb(241, 241, 202);">Aside</el-aside><el-main style="background-color: rgb(182, 182, 231);">Main</el-main></el-container></el-container></template><script>export default{data() {return {};},methods: {}}
</script><style scoped></style>

在这里插入图片描述

布局初步

在这里插入图片描述

App.vue

在这里插入图片描述

<template><div id="app"><router-view/></div>
</template><style>*{padding: 0;margin: 0;
}
html,body,#app{height: 100%;
}</style>

在这里插入图片描述

新增页面和引入

在这里插入图片描述

import Vue from 'vue'
import VueRouter from 'vue-router'
import HomeView from '../views/HomeView.vue'
const Login  = () => import ("../components/Login.vue")Vue.use(VueRouter)const routes = [{path: '/',name: 'login',component: Login},{path: '/home',name: 'home',component: HomeView},
]const router = new VueRouter({routes
})export default router

在这里插入图片描述

home页面导航栏

<template><el-container style="height: 100%"><el-header style="background-color: rgb(249, 195, 195);">Header</el-header><el-container><el-aside width="200px" style="background-color: rgb(241, 241, 202);"><el-col width="200px"><el-menudefault-active="2"class="el-menu-vertical-demo"@open="handleOpen"@close="handleClose"><el-submenu :index="menu.id" v-for="menu in menuList" :key="menu.id"><template slot="title"><i :class="menu.icon"></i><span>{{ menu.name }}</span></template><el-menu-item-group><el-menu-item :index="cmenu.link" v-for="cmenu in menu.childrenMenu" :key="cmenu.id">{{ cmenu.name }}</el-menu-item></el-menu-item-group></el-submenu></el-menu></el-col></el-aside><el-main style="background-color: rgb(182, 182, 231);">Main</el-main></el-container></el-container></template><script>export default{data() {return {// 定义一个数据,菜单从数据中循环出来table tr// 找出一级菜单和二级菜单循环体menuList:[{id:'1',name:'公共模块',icon:'el-icon-menu',childrenMenu:[{id:'2',name:'调查问卷',link:'abc'},{id:'3',name:'资料中心',link:'bcd'},{id:'4',name:'工资中心',link:'cde'},]},{id:'5',name:'业务目标',icon:'el-icon-document',childrenMenu:[{id:'5',name:'短期目标',link:'def'},{id:'6',name:'长期目标',link:'efg'},]},]};},methods: {// 查询用户拥有菜单queryUserMenu(){this.$axios.get('/api/menu/queryAll').then(response=>{let resp = response.dataconsole.log(resp)})},handleOpen(key, keyPath) {console.log(key, keyPath);},handleClose(key, keyPath) {console.log(key, keyPath);}}}
</script><style scoped></style>

在这里插入图片描述


总结

1.vue-cli创建前端工程,安装element-ui,axios和配置;
2.前端跨域的配置,请求添加Jwt的设置;
3.进行初始化布局,引入新增页面的方式;
4.home页面导航栏的设置,一级目录,二级目录;

http://www.lryc.cn/news/163506.html

相关文章:

  • 在 ubuntu20.04 上安装 Pytorch
  • 远程恋爱网站部署秘籍——群晖虚拟机助ni秀恩爱
  • vscode c++解决包含头文件红色波浪线问题
  • PostgreSQL docker compose安装配置
  • 电脑文件批量重命名:高效操作技巧
  • c高级day4(shell)
  • 整十粉丝庆祝文章系列内容征集建议
  • 两数乘积:输出1~100整数乱序列表中两数乘积是目标整数的最小下标对
  • 【JavaSE】面试01
  • Elasticsearch(二)kibana数据检索
  • JavaScript编程语法作业
  • 服务器中了Malloxx勒索病毒应该怎么办?勒索病毒解密,数据恢复
  • 如何实现Spring的事务管理功能:@Transactional声明式事务
  • LeetCode(力扣)122. 买卖股票的最佳时机 II
  • 串行通信协议
  • Elasticsearch中RestClient使用
  • 【LeetCode-中等题】208. 实现 Trie (前缀树)
  • python队列与多线程——生产者消费者模型
  • idea的安装
  • Unity下如何实现RTMP或RTSP播放端录像?
  • 【Python】Python基础语法
  • I2C总线驱动:裸机版、应用层的使用、二级外设驱动三种方法
  • Unix Network Programming Episode 77
  • 解决Ubuntu无法安装pycairo和PyGObject
  • Android Handler 机制解析
  • 酒店固定资产管理怎么分类
  • OpenCV(三十一):形态学操作
  • Python之面向对象(二)
  • ESP32用作经典蓝牙串口透传模块与手机进行串口通信
  • Python 操作 CSV