Vue3 + Element-UI 搭建一个后台管理系统框架模板

青旅半醒 2023-09-26 22:56 292阅读 0赞

概述

本文将介绍如何基于Vue3和element-ui搭建一个后台管理系统框架模板。我们将详细讲解代码流程,并提供详细的说明。

技术栈

  • Vue3
  • Element-ui
  • Axios

前置知识

本文假设读者已经熟悉Vue3和Element-ui的基本使用方法,并且对Axios有一定的了解。

步骤

步骤1:创建Vue3项目

我们可以使用Vue CLI来创建一个Vue3项目,具体步骤如下:

  1. 打开命令行工具,在任意目录下输入以下命令:

    1. vue create {
    2. 项目名称}
  2. 选择“Manually select features”选项(手动选择特性),按回车键进入下一步。
  3. 按下空格键选择以下特性:

    • Choose Vue version(选择Vue版本):选择“3.x”。
    • Babel(使用Babel编译器):选中。
    • Router(使用Vue Router进行路由管理):选中。
    • Vuex(使用Vuex进行状态管理):选中。
    • CSS Pre-processors(使用CSS预处理器):选中。
    • Linter / Formatter(使用ESLint进行代码检查和格式化):选中。
  4. 确认选择,按回车键进入下一步。
  5. 选择CSS预处理器,我们可以使用Sass或Less,这里以Sass为例,按下空格键选中“Sass/SCSS (with dart-sass)”选项,按回车键确认选择。
  6. 确认是否使用history模式进行路由管理,这里我们选择“n”(不使用),按回车键进入下一步。
  7. 确认是否安装依赖,我们选择“npm”或“yarn”,按回车键确认选择。
  8. 等待依赖安装完成,项目创建成功。

步骤2:安装Element-ui

我们可以使用npm或yarn来安装Element-ui,具体步骤如下:

  1. 打开命令行工具,在项目根目录下输入以下命令:

    1. npm install element-plus --save
    2. yarn add element-plus
  2. 等待依赖安装完成,Element-ui安装成功。

步骤3:配置Element-ui

我们需要在main.js中引入Element-ui并按需引入组件,具体步骤如下:

  1. 在main.js中引入Element-ui:

    1. import {
    2. createApp } from 'vue'
    3. import App from './App.vue'
    4. import ElementPlus from 'element-plus'
    5. import 'element-plus/lib/theme-chalk/index.css'
    6. createApp(App).use(ElementPlus).mount('#app')
  2. 在需要使用的组件中按需引入:

    1. import {
    2. ElButton, ElInput } from 'element-plus'
    3. export default {
    4. components: {
    5. ElButton,
    6. ElInput
    7. }
    8. }

步骤4:封装Axios

我们可以在项目中封装Axios,方便进行网络请求,具体步骤如下:

  1. 在src目录下创建一个api目录,用于存放Axios相关代码。
  2. 在api目录下创建一个index.js文件,用于封装Axios:

    1. import axios from 'axios'
    2. const instance = axios.create({
    3. baseURL: process.env.VUE_APP_BASE_API,
    4. timeout: 5000,
    5. headers: {
    6. 'Content-Type': 'application/json;charset=utf-8'
    7. }
    8. })
    9. instance.interceptors.request.use(
    10. config => {
    11. const token = localStorage.getItem('token')
    12. if (token) {
    13. config.headers.Authorization = token
    14. }
    15. return config
    16. },
    17. error => {
    18. return Promise.reject(error)
    19. }
    20. )
    21. instance.interceptors.response.use(
    22. response => {
    23. return response.data
    24. },
    25. error => {
    26. return Promise.reject(error)
    27. }
    28. )
    29. export default instance
  3. 在main.js中引入Axios:

    1. import axios from './api'
    2. const app = createApp(App)
    3. app.config.globalProperties.$http = axios

步骤5:创建路由

我们需要在router/index.js文件中配置路由,具体步骤如下:

  1. 在router目录下创建一个index.js文件,用于配置路由:

    1. import {
    2. createRouter, createWebHistory } from 'vue-router'
    3. import Home from '../views/Home.vue'
    4. import About from '../views/About.vue'
    5. const routes = [
    6. {
    7. path: '/',
    8. name: 'Home',
    9. component: Home
    10. },
    11. {
    12. path: '/about',
    13. name: 'About',
    14. component: About
    15. }
    16. ]
    17. const router = createRouter({
    18. history: createWebHistory(process.env.BASE_URL),
    19. routes
    20. })
    21. export default router
  2. 在main.js中引入路由:

    1. import router from './router'
    2. const app = createApp(App)
    3. app.use(router)

步骤6:创建页面

我们需要在views目录下创建页面,具体步骤如下:

  1. 在views目录下创建一个Home.vue文件,用于展示首页内容:

    1. <template>
    2. <div>
    3. <h1>首页</h1>
    4. <el-button type="primary">点击按钮</el-button>
    5. </div>
    6. </template>
    7. <script>
    8. export default {
    9. name: 'Home'
    10. }
    11. </script>
    12. <style scoped>
    13. h1 {
    14. font-size: 24px;
    15. color: #333;
    16. margin-bottom: 20px;
    17. }
    18. </style>
  2. 在views目录下创建一个About.vue文件,用于展示关于页面内容:

    1. <template>
    2. <div>
    3. <h1>关于</h1>
    4. <el-input placeholder="请输入内容"></el-input>
    5. </div>
    6. </template>
    7. <script>
    8. export default {
    9. name: 'About'
    10. }
    11. </script>
    12. <style scoped>
    13. h1 {
    14. font-size: 24px;
    15. color: #333;
    16. margin-bottom: 20px;
    17. }
    18. </style>

步骤7:创建菜单

我们可以使用Element-ui的菜单组件创建菜单,具体步骤如下:

  1. 在App.vue中添加菜单:

    1. <template>
    2. <div id="app">
    3. <el-container>
    4. <el-header>Header</el-header>
    5. <el-container>
    6. <el-aside width="200px">
    7. <el-menu :default-openeds="['1']">
    8. <el-submenu index="1">
    9. <template slot="title">导航一</template>
    10. <el-menu-item-group>
    11. <template slot="title">分组一</template>
    12. <el-menu-item index="/">首页</el-menu-item>
    13. </el-menu-item-group>
    14. <el-menu-item-group>
    15. <template slot="title">分组二</template>
    16. <el-menu-item index="/about">关于</el-menu-item>
    17. </el-menu-item-group>
    18. </el-submenu>
    19. </el-menu>
    20. </el-aside>
    21. <el-main>
    22. <router-view></router-view>
    23. </el-main>
    24. </el-container>
    25. <el-footer>Footer</el-footer>
    26. </el-container>
    27. </div>
    28. </template>
    29. <script>
    30. export default {
    31. name: 'App'
    32. }
    33. </script>
  2. 在router/index.js中添加菜单对应的路由信息:

    1. const routes = [
    2. {
    3. path: '/',
    4. name: 'Home',
    5. component: Home
    6. },
    7. {
    8. path: '/about',
    9. name: 'About',
    10. component: About
    11. }
    12. ]

总结

本文介绍了如何基于Vue3和Element-ui搭建一个后台管理系统框架模板。我们从创建Vue3项目、安装和配置Element-ui、封装Axios、创建路由、创建页面和创建菜单等方面进行了详细的讲解。希望本文能够帮助读者更好地理解Vue3和Element-ui的使用方法,以及如何构建后台管理系统框架模板。

发表评论

表情:
评论列表 (有 0 条评论,292人围观)

还没有评论,来说两句吧...

相关阅读