搭建Vue3 Admin Plus 框架

2024-08-24 12:28

本文主要是介绍搭建Vue3 Admin Plus 框架,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Vue3 Admin Plus 是一个基于 Vue 3 和 Vite 的后台管理模板,通常包含了 Element Plus 作为 UI 库,并且集成了常见的管理系统功能,如权限管理、菜单配置、国际化等。以下是如何从头搭建 Vue3 Admin Plus 项目的步骤。

目录

1. 克隆 Vue3 Admin Plus 项目模板

2. 安装依赖

3. 运行开发服务器

4. 项目结构概览

5. 项目功能配置

a. 路由配置

b. 权限管理

c. 国际化支持

d. Element Plus UI 库

6. 打包和部署

7. 环境变量配置

8. 项目扩展

9. 总结


1. 克隆 Vue3 Admin Plus 项目模板

首先,您可以通过以下方式从 GitHub 上克隆 Vue3 Admin Plus 项目模板:

git clone https://github.com/jzfai/vue3-admin-plus.git

进入项目目录:

cd vue3-admin-plus

2. 安装依赖

在项目目录下运行以下命令来安装依赖项:

npm install

或使用 Yarn:

yarn install

3. 运行开发服务器

安装完依赖后,运行开发服务器以启动项目:

npm run dev

或使用 Yarn:

yarn dev

这个命令将启动本地开发服务器,您可以通过 http://localhost:3000 访问。

4. 项目结构概览

项目的目录结构大致如下:

vue3-admin-plus/
├── public/                         # 公共静态资源
├── src/                            # 源代码目录
│   ├── api/                        # API 接口定义
│   ├── assets/                     # 静态资源
│   ├── components/                 # 公共组件
│   ├── layout/                     # 布局相关文件
│   ├── router/                     # 路由配置
│   ├── store/                      # 状态管理(Pinia 或 Vuex)
│   ├── views/                      # 页面组件
│   ├── App.vue                     # 根组件
│   ├── main.js                     # 入口文件
│   ├── permission.js               # 权限控制
│   └── settings.js                 # 项目设置
├── .env.development                # 开发环境变量
├── .env.production                 # 生产环境变量
├── vite.config.js                  # Vite 配置文件
├── package.json                    # 项目依赖配置文件
└── README.md                       # 项目说明文件

5. 项目功能配置

a. 路由配置

路由文件位于 src/router 目录下,包含了项目的路由配置。可以根据需要添加、修改或删除路由。

import { createRouter, createWebHistory } from 'vue-router'
import Layout from '@/layout/index.vue'const routes = [{path: '/',component: Layout,redirect: '/dashboard',children: [{path: 'dashboard',name: 'Dashboard',component: () => import('@/views/dashboard/index.vue'),meta: { title: 'Dashboard', icon: 'dashboard' }}]},// 其他路由配置...
]const router = createRouter({history: createWebHistory(),routes
})export default router
b. 权限管理

权限管理的核心是通过 src/permission.js 文件来控制访问。通过在路由的 meta 属性中定义 roles 来指定哪些角色可以访问特定路由。

import router from './router'
import store from './store'
import { ElMessage } from 'element-plus'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'router.beforeEach(async (to, from, next) => {const hasToken = store.getters.tokenif (hasToken) {if (to.path === '/login') {next({ path: '/' })} else {const hasRoles = store.getters.roles && store.getters.roles.length > 0if (hasRoles) {next()} else {try {const { roles } = await store.dispatch('user/getInfo')const accessRoutes = await store.dispatch('permission/generateRoutes', roles)router.addRoutes(accessRoutes)next({ ...to, replace: true })} catch (error) {await store.dispatch('user/resetToken')ElMessage.error(error || 'Has Error')next(`/login?redirect=${to.path}`)}}}} else {if (['/login', '/auth-redirect'].indexOf(to.path) !== -1) {next()} else {next(`/login?redirect=${to.path}`)}}
})
c. 国际化支持

项目通常集成了国际化插件,可以通过 src/locales 目录进行多语言配置。你可以根据需求添加新的语言包。

import { createI18n } from 'vue-i18n'
import en from './en'
import zh from './zh'const messages = {en,zh
}const i18n = createI18n({locale: 'en',messages
})export default i18n

main.js 中注册:

import { createApp } from 'vue'
import i18n from './locales'
import App from './App.vue'const app = createApp(App)
app.use(i18n)
app.mount('#app')
d. Element Plus UI 库

Vue3 Admin Plus 使用 Element Plus 作为 UI 组件库,通常在 main.js 中进行全局引入:

import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'const app = createApp(App)
app.use(ElementPlus)

6. 打包和部署

开发完成后,可以通过以下命令来打包项目:

npm run build

或使用 Yarn:

yarn build

打包后会生成 dist 文件夹,其中包含了所有的静态资源文件。将这些文件上传到服务器即可部署。

7. 环境变量配置

项目使用 .env 文件进行环境变量配置。你可以在 env.developmentenv.production 中添加或修改环境变量。

# .env.development
VITE_APP_BASE_API = '/dev-api'# .env.production
VITE_APP_BASE_API = '/prod-api'

在代码中使用 import.meta.env.VITE_APP_BASE_API 访问这些变量。

8. 项目扩展

你可以根据业务需求进一步扩展项目,例如:

  • 集成更多第三方库:如图表库 (ECharts)、富文本编辑器 (Quill) 等。
  • 优化权限管理:根据实际需要完善权限验证机制。
  • 添加更多国际化支持:根据用户需求增加新的语言包。

9. 总结

Vue3 Admin Plus 提供了一个现代化的 Vue 3 后台管理模板,具备完善的功能和优秀的性能。通过上述步骤,您可以快速搭建并部署一个功能强大的后台管理系统。如果需要更多定制化功能,您可以进一步扩展和配置该框架。

这篇关于搭建Vue3 Admin Plus 框架的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1102477

相关文章

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

MyBatis-Plus 自动赋值实体字段最佳实践指南

《MyBatis-Plus自动赋值实体字段最佳实践指南》MyBatis-Plus通过@TableField注解与填充策略,实现时间戳、用户信息、逻辑删除等字段的自动填充,减少手动赋值,提升开发效率与... 目录1. MyBATis-Plus 自动赋值概述1.1 适用场景1.2 自动填充的原理1.3 填充策略

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

mybatis-plus QueryWrapper中or,and的使用及说明

《mybatis-plusQueryWrapper中or,and的使用及说明》使用MyBatisPlusQueryWrapper时,因同时添加角色权限固定条件和多字段模糊查询导致数据异常展示,排查发... 目录QueryWrapper中or,and使用列表中还要同时模糊查询多个字段经过排查这就导致只要whe

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

MyBatis-Plus 中 nested() 与 and() 方法详解(最佳实践场景)

《MyBatis-Plus中nested()与and()方法详解(最佳实践场景)》在MyBatis-Plus的条件构造器中,nested()和and()都是用于构建复杂查询条件的关键方法,但... 目录MyBATis-Plus 中nested()与and()方法详解一、核心区别对比二、方法详解1.and()

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)