Skip to content

ma-guo/vue3-element-admin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

niuhe 教程

在稀土掘金开了 niuhe 插件 系列教程。如有问题, 亦可咨询 1057981162 (QQ/微信)

线上 demo

admindemo

  • 用户名 admin
  • 密码 123456

项目简介

vue3-element-admin 是基于 Vue3 + Vite5+ TypeScript5 + Element-Plus + Pinia 等主流技术栈构建的免费开源的后台管理前端模板(配套后端源码 admin-core)。后端项目建议从 admin-core-test 开始

项目特色

  • 简洁易用:基于 vue-element-admin 升级的 Vue3 版本,无过渡封装 ,易上手。

  • 数据交互:同时支持本地 Mock 和线上接口,配套 go 后端源码在线接口文档

  • 权限管理:用户、角色、菜单、字典、部门等完善的权限系统功能。

  • 基础设施:动态路由、按钮权限、国际化、代码规范、Git 提交规范、常用组件封装。

  • 持续更新:2021年至今持续更新3年,及时跟进最新的技术和工具。

项目预览

明亮模式

暗黑模式

接口文档

环境准备

环境 名称版本 下载地址
开发工具 VSCode 下载
运行环境 Node ≥18 下载

项目启动

# 克隆代码
git clone https://github.com/ma-guo/vue3-element-admin.git

# 切换目录
cd vue3-element-admin

# 安装 pnpm
npm install pnpm -g

# 安装依赖
pnpm install

# 启动运行
pnpm run dev

项目部署

# 项目打包
pnpm run build:prod

# 上传文件至远程服务器
将打包生成在 `dist` 目录下的文件拷贝至 `/usr/share/nginx/html` 目录

# nginx.cofig 配置
server {
	listen     80;
	server_name  localhost;
	location / {
		root /usr/share/nginx/html;
		index index.html index.htm;
	}
	# 反向代理配置
	location /prod-api/ {
		proxy_pass http://vapi.youlai.tech/; # vapi.youlai.tech替换成你的后端API地址
	}
}

本地Mock

项目同时支持在线和本地 Mock 接口,默认使用线上接口,如需替换为 Mock 接口,修改文件 .env.developmentVITE_MOCK_DEV_SERVERtrue 即可

后端接口

如果您具备 go 开发基础,按照以下步骤将在线接口转为本地后端接口,创建企业级前后端分离开发环境,助您走向全栈之路。

  1. 获取基于 goniuhe VSCODE 插件开发的后端 admin-core-test 源码。
  2. 修改 .env.development 文件中的 VITE_APP_API_URL 的值,将其从 http://vapi.youlai.tech 更改为 http://localhost:8989。

注意事项

  • 自动导入插件自动生成默认关闭

    模板项目的组件类型声明已自动生成。如果添加和使用新的组件,请按照图示方法开启自动生成。在自动生成完成后,记得将其设置为 false,避免重复执行引发冲突。

  • 项目启动浏览器访问空白

    请升级浏览器尝试,低版本浏览器内核可能不支持某些新的 JavaScript 语法,比如可选链操作符 ?.

  • 项目同步仓库更新升级

    项目同步仓库更新升级之后,建议 pnpm install 安装更新依赖之后启动 。

  • 项目组件、函数和引用爆红

    重启 VSCode 尝试

  • 其他问题

    如果有其他问题或者建议,建议 ISSUE

项目文档

提交规范

执行 pnpm run commit 唤起 git commit 交互,根据提示完成信息的输入和选择。