当前位置:   article > 正文

Vue(三) 基于Vue3 + Element Plus 的后台管理系统解决方案 vue-manage-system 默认端口配置、路由、api接口配置、菜单页面等功能流程源码分析讲解

vue-manage-system

目录

前言

一、vue-manage-system 

1.1 目录结构图例

1.2 目录作用及其含义解释

二、vue项目 端口和包配置管理

2.1 服务端口配置 - > vite.config.js

2.2 项目依赖包配置和版本管理 - > package.json

 三、提交一个简易的功能流程示例

3.1 项目路由配置 - > router/index.js

3.2 api接口配置 - > api/index.js

3.3 项目菜单页面配置 -> components/Sidebar.vue

3.4 vue常用语法(CSDN官方教程)


前言

    学习了解基于Vue3 + Element Plus 的后台管理系统解决方案 vue-manage-system, 默认端口配置、api、路由、菜单页面等功能流程源码分析讲解,掌握该项目并能熟练的进行项目开发。

一、vue-manage-system 

1.1 目录结构图例

1.2 目录作用及其含义解释

public:

    服务端的静态目录。一般放比较大的资源文件或数据文件,如: mp3、mp4、i等比较大的文件,前端页面访问时要通过数据请求访问

src:

    前端目录,前端的代码全部放在src目录中


    main.js:

        整个项目的入口文件,项目启动时第一个执行的逻辑文件。

    App.vue:

       根组件,单文件组件的跟文件

    router:

        vue直接配置好的路由,无自己再创建路由
            $mount() 相当于el属性设置根标签,根标签id为app,在public中的inde.html
            indexis: 路由的配置文件

    views: 

            放单文件组件,单独的一个完整的页面
    components:

            当单文件组件,一个页面中的一此组件
    assets:

            前端静态目录,一般放比较小的资源文件,jpg、icon、js前端页面可以直接导入使用。项目打包时,asserts会被打包public不会被打包

二、vue项目 端口和包配置管理

2.1 服务端口配置 - > vite.config.js

  1. import vue from '@vitejs/plugin-vue'
  2. import copy from 'rollup-plugin-copy'
  3. const path = require('path')
  4. console.log("path", path)
  5. export default {
  6. base: './',
  7. plugins: [vue(), copy({
  8. // targets: [
  9. // {src: './dist', dest: '../BackEnd_Service/template/'}, //执行拷贝
  10. // // { src: './dist/assets', dest: '../BackEnd_Service/template/' }, //执行拷贝
  11. // ]
  12. })],
  13. server: {
  14. host: '0.0.0.0',
  15. port: '3000', // 端口设置
  16. proxy: {
  17. '/api': {
  18. target: 'http://127.0.0.1:80/',
  19. changeOrigin: true,
  20. pathRewrite: {
  21. '^/api': 'http://127.0.0.1:80'
  22. //这里的配置是正则表达式,以/api开头的将会被用用‘/api'替换掉,假如后台文档的接口是 /api/list/xxx
  23. //前端api接口写:axios.get('/api/list/xxx') , 被处理之后实际访问的是:http://news.baidu.com/api/list/xxx
  24. },
  25. rewrite: (path) => path.replace(/^\/api/, '')
  26. }
  27. }
  28. },
  29. optimizeDeps: {
  30. include: ['schart.js']
  31. },
  32. resolve: {
  33. alias: {
  34. 'vue': 'vue/dist/vue.esm-bundler.js'
  35. }
  36. },
  37. build: {
  38. rollupOptions: {
  39. external: [
  40. "wangEditor",
  41. "wangeditor",
  42. ],
  43. },
  44. },
  45. }

2.2 项目依赖包配置和版本管理 - > package.json

  1. {
  2. "name": "vue-manage-system",
  3. "version": "5.1.0",
  4. "private": true,
  5. "scripts": {
  6. "dev": "vite",
  7. "build": "vite build && node ./build/copy.js",
  8. "serve": "vite preview"
  9. },
  10. "dependencies": {
  11. "axios": "^0.21.1",
  12. "echarts": "^5.4.0",
  13. "element-plus": "1.0.2-beta.52",
  14. "fs-extra": "^10.0.1",
  15. "js-file-download": "^0.4.12",
  16. "rollup-plugin-copy": "^3.4.0",
  17. "vue": "^3.1.2",
  18. "vue-cropperjs": "^5.0.0",
  19. "vue-i18n": "^9.0.0",
  20. "vue-router": "^4.0.10",
  21. "vue-schart": "^2.0.0",
  22. "vuex": "^4.0.2",
  23. "wangeditor": "^4.7.4"
  24. },
  25. "devDependencies": {
  26. "@vitejs/plugin-vue": "^1.2.3",
  27. "@vue/compiler-sfc": "^3.1.2",
  28. "vite": "2.5.10"
  29. },
  30. "browserslist": [
  31. "> 1%",
  32. "last 2 versions",
  33. "not dead"
  34. ]
  35. }

 三、提交一个简易的功能流程示例

1、菜单列表新增显示标题、跳转路由

2、设置路由跳转地址和页面

3、编写vue页面

4、vue页面中调用api方法进行数据请求

3.1 项目路由配置 - > router/index.js

  1. // 截取部分代码讲解
  2. children: [
  3. {
  4. path: "/dashboard",
  5. name: "dashboard",
  6. meta: {
  7. title: '系统首页',
  8. permiss: '1'
  9. },
  10. component: () => import ( /* webpackChunkName: "dashboard" */ "../views/dashboard.vue")
  11. },
  12. {
  13. path: "/charts",
  14. name: "basecharts",
  15. meta: {
  16. title: '图表'
  17. },
  18. component: () =>
  19. import ( /* webpackChunkName: "charts" */ "../views/BaseCharts.vue")
  20. },
  21. ...
  22. ]

3.2 api接口配置 - > api/index.js

  1. import request from '../utils/request';
  2. // public文件夹下本地静态文件数据
  3. export const fetchData = () => {
  4. return request({
  5. url: './table.json',
  6. method: 'get'
  7. });
  8. };
  9. // 服务器接口数据
  10. export const projectAdd = query => {
  11. console.log("value",query)
  12. return request({
  13. url: '/api/project/add/',
  14. //url: '/api/project/add/',
  15. method: 'post',
  16. data: query
  17. });
  18. };

3.3 项目菜单页面配置 -> components/Sidebar.vue

  1. // 截取部分代码演示
  2. export default {
  3. setup() {
  4. const items = [
  5. {
  6. icon: "el-icon-lx-home",
  7. index: "/dayReport",
  8. title: "系统首页",
  9. },
  10. ]

3.4 vue常用语法(CSDN官方教程)

推荐去官网学习一下vue基本入门知识再进行后续学习

Vue入门技能树技能树https://edu.csdn.net/skill/vue

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/502837
推荐阅读
相关标签
  

闽ICP备14008679号