大家好,我是 Java陈序员

你是否还在为搭建中后台管理系统从零开始编写代码而烦恼吗?

今天给大家推荐一款开源免费且功能强大的中后台管理系统模板,兼容移动端!

关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。

项目介绍

vue-pure-admin —— 一款开源免费且开箱即用的中后台管理系统模版,完全采用 ECMAScript 模块(ESM)规范来编写和组织代码,使用了最新的 Vue3 主流技术开发。

功能特色

  • 稳定最新的技术栈:基于 Vue3、Vite、Element-Plus、TypeScript、Pinia、Tailwindcss 等主流技术开发
  • 内置丰富的组件:除了提供颜色选择器、日期选择器、时间选择器、进度条、折叠面板等多种常用急促组件示例,并且集成代码编辑器(CodeMirror)、Markdown 编辑器、JSON 编辑器、表单设计器等组件
  • 高度可配置的主题:支持高度可配置的主题以及暗黑主题适配,并且提供左侧、顶部、混合、双栏四种菜单布局模式
  • 完善的系统管理模块:提供包含用户管理、角色管理、部门管理等基础权限管理功能,支持菜单权限配置
  • 轻量高效:提供国际化和非国际化两种精简版本,内置完善的打包优化方案,开启 brotli 压缩和 cdn 替换本地库模式后,可降至 350kb 以下
  • 多场景适配:支持 PC 端、暗色风格及移动端适配,界面美观,交互流畅

功能预览

PC 端

暗黑版本

移动端

本地开发

依赖 Node.js 环境。

1、克隆或下载项目源码

git clone https://github.com/pure-admin/vue-pure-admin.git

2、代码目录结构

├── .github  # GitHub 配置文件│   ├── ISSUE_TEMPLATE  # 问题提交参考模板│   ├── workflows git  # 工作流├── .husky  # 代码提交前校验配置文件├── .vscode  # IDE 工具推荐配置文件│   │   ├── extensions.json  # 一键安装平台推荐的 vscode 插件│   │   ├── settings.json  # 设置扩展程序或 vscode 编辑器的一些属性│   │   ├── vue3.0.code-snippets  # vue3.0 代码片段│   │   └── vue3.2.code-snippets  # vue3.2 代码片段│   │   └── vue3.3.code-snippets  # vue3.3 代码片段├── build  # 构建工具│   │   ├── cdn.ts  # 打包时采用 cdn 模式│   │   ├── compress.ts  # 打包时启用 gzip 压缩或 brotli 压缩│   │   ├── info.ts  # 输出打包信息(大小、用时)│   │   ├── optimize.ts  # vite 依赖预构建配置项│   │   ├── plugins.ts  # vite 相关插件存放处│   │   ├── utils.ts  # 构建工具常用方法抽离├── locales  # 国际化文件存放处│   │   ├── en.yaml  # 英文配置│   │   ├── zh-CN.yaml  # 中文配置├── mock  # mock 模拟后台数据│   │   ├── asyncRoutes.ts  # 模拟后台返回动态路由│   │   ├── ...├── node_modules  # 模块依赖├── public  # 静态资源│   │   ├── audio  # 音频文件│   │   ├── html  # 静态 iframe 页面│   │   ├── wasm  # wasm 文件以及胶水代码│   │   ├── favicon.ico  # favicon│   │   ├── logo.svg  # logo│   │   ├── platform-config.json  # 全局配置文件(打包后修改也可生效)├── src│   ├── api  # 接口请求统一管理│   ├── assets  # 字体、图片等静态资源│   ├── components  # 自定义通用组件│   │   ├── ReAnimateSelector  # [animate.css](https://animate.style/) 选择器组件│   │   ├── ReAuth  # 按钮级别权限组件(根据路由meta中的auths字段进行判断)│   │   ├── ReBarcode  # 条形码组件│   │   ├── ReCol  # 封装 element-plus 的 el-col 组件│   │   ├── ReCountTo  # 数字动画组件│   │   ├── ReCropper  # 图片裁剪组件│   │   ├── ReCropperPreview  # 图片裁剪预览组件│   │   ├── ReDialog  # 基于 element-plus 中 el-dialog 组件开发的函数式弹框│   │   ├── ReFlicker  # 圆点、方形闪烁动画组件│   │   ├── ReFlop  # 时间翻牌组件│   │   ├── ReFlowChart  # LogicFlow 流程图组件│   │   ├── ReIcon  # 图标组件│   │   ├── ReImageVerify  # 图形验证码组件│   │   ├── ReMap  # 高德地图组件│   │   ├── RePerms  # 按钮级别权限组件(根据登录接口返回的permissions字段进行判断)│   │   ├── RePureTableBar  # 配合 `@pureadmin/table` 实现快速便捷的表格操作 https://github.com/pure-admin/pure-admin-table */│   │   ├── ReQrcode  # 二维码组件│   │   ├── ReSeamlessScroll  # 无缝滚动组件│   │   ├── ReSegmented  # 分段控制器组件│   │   ├── ReSelector  # 选择器组件│   │   ├── ReSplitPane  # 切割面板组件│   │   ├── ReText  # 支持 Tooltip 提示的文本省略组件│   │   ├── ReTreeLine  # 树形连接线组件(基于element-plus)│   │   ├── ReTypeit  # 打字机效果组件│   │   ├── ReVxeTableBar  # 配合 vxe-table 实现快速便捷的表格操作│   ├── config  # 获取平台动态全局配置│   ├── directives  # 自定义指令│   │   ├── auth  # 按钮级别权限指令(根据路由meta中的auths字段进行判断)│   │   ├── copy  # 文本复制指令(默认双击复制)│   │   ├── longpress  # 长按指令│   │   ├── optimize  # 防抖、节流指令│   │   ├── perms  # 按钮级别权限指令(根据登录接口返回的permissions字段进行判断)│   │   ├── ripple  # 水波纹效果指令│   ├── layout  # 主要页面布局│   ├── plugins  # 处理一些库或插件,导出更方便的 api│   ├── router  # 路由配置│   ├── store  # pinia 状态管理│   ├── style  # 全局样式│   │   ├── dark.scss  # 暗黑模式样式适配文件│   │   ├── element-plus.scss  # 全局覆盖 element-plus 样式文件│   │   ├── reset.scss  # 全局重置样式文件│   │   ├── sidebar.scss  # layout 布局样式文件│   │   ├── tailwind.css  # tailwindcss 自定义样式配置文件│   │   ├── ...│   ├── utils  # 全局工具方法│   │   ├── http  # 封装 axios 文件│   │   ├── localforage  # 二次封装 localforage (https://localforage.docschina.org/) 支持设置过期时间,提供完整的类型提示│   │   ├── progress  # 封装 nprogress│   │   └── auth.ts  # 处理用户信息和 token 相关│   │   └── chinaArea.ts  # 汉字转区域码│   │   └── globalPolyfills.ts  # 解决项目可能因为安装某个依赖出现 `global is not defined` 报错│   │   └── message.ts  # 消息提示函数│   │   ├── mitt.ts  # 触发公共事件,类似 EventBus│   │   ├── preventDefault.ts  # 阻止键盘F12、浏览器默认右键菜单、页面元素选中、图片默认可拖动的方法│   │   ├── print.ts  # 打印函数│   │   ├── propTypes.ts  # 二次封装 vue 的 propTypes│   │   ├── responsive.ts  # 全局响应式 storage 配置│   │   ├── sso.ts  # 前端单点登录逻辑处理│   │   ├── tree.ts  # 树结构相关处理函数│   ├── views  # 存放编写业务代码页面│   ├── App.vue  # 入口页面│   ├── main.ts  # 入口文件├── types  # 全局 TS 类型配置│   │   ├── directives.d.ts  # 全局自定义指令类型声明│   │   ├── global-components.d.ts  # 自定义全局组件获得 Volar 提示(自定义的全局组件需要在这里声明下才能获得 Volar 类型提示哦)│   │   ├── global.d.ts  # 全局类型声明,无需引入直接在 `.vue` 、`.ts` 、`.tsx` 文件使用即可获得类型提示│   │   ├── index.d.ts  # 此文件跟同级目录的 global.d.ts 文件一样也是全局类型声明,只不过这里存放一些零散的全局类型,无需引入直接在 .vue 、.ts 、.tsx 文件使用即可获得类型提示│   │   ├── router.d.ts  # 全局路由类型声明│   │   ├── shims-tsx.d.ts  # 该文件是为了给 .tsx 文件提供类型支持,在编写时能正确识别语法│   │   └── shims-vue.d.ts  # .vue、.scss 文件不是常规的文件类型,typescript 无法识别,所以我们需要通过下图的代码告诉 typescript 这些文件的类型,防止类型报错├── .browserslistrc  # 配置目标浏览器的环境├── .dockerignore  # 排除不需要上传到 docker 服务端的文件或目录├── .editorconfig  # 编辑器读取文件格式及样式定义配置 https://editorconfig.org/├── .env  # 全局环境变量配置(当 .env 文件与 .env.development、.env.production、.env.staging 这三个文件之一存在相同的配置 key 时,.env 优先级更低)├── .env.development  # 开发环境变量配置├── .env.production  # 生产环境变量配置├── .env.staging  # 预发布环境变量配置├── .gitattributes  # 自定义指定文件属性├── .gitignore  # git 提交忽略文件├── .gitpod.yml  # gitpod 部署配置├── .lintstagedrc  # lint-staged 配置├── .markdownlint.json  # markdown 格式检查配置├── .npmrc  # npm 配置文件├── .nvmrc  # 用于指定在使用 Node Version Manager(NVM)时要使用的特定 Node.js 版本├── .prettierignore  # prettier 语法检查忽略文件├── .prettierrc.js  # prettier 插件配置├── .stylelintignore  # stylelint 语法检查忽略文件├── CHANGELOG.en_US.md  # 版本更新日志(英文版)├── CHANGELOG.md  # 版本更新日志(英文版)├── CHANGELOG.zh_CN.md  # 版本更新日志(中文版)├── Dockerfile  # 用来构建 docker 镜像├── LICENSE  # 证书├── README.en-US.md  # README(英文版)├── README.md  # README├── commitlint.config.js  # git 提交前检查配置├── eslint.config.js  # eslint 语法检查配置├── index.html  # html 主入口├── package.json  # 依赖包管理以及命令配置├── pnpm-lock.yaml  # 依赖包版本锁定文件├── postcss.config.js  # postcss 插件配置├── stylelint.config.js  # stylelint 配置├── tailwind.config.ts  # tailwindcss 配置├── tsconfig.json  # typescript 配置└── vite.config.ts  # vite 配置

3、进入项目目录并安装依赖

pnpm install## 推荐使用 pnpm, 如未安装 pnpm, 使用如下命令全局安装npm install -g pnpm

4、运行项目

pnpm run dev

5、运行成功后,浏览器访问

http://localhost:8848

6、打包部署

pnpm run build

可以说,vue-pure-admin 是一款非常优秀的中后台管理系统模板,无论是对于新手学习还是实际项目开发,都具有很高的价值。如果你正在寻找合适的中后台模板,不妨试试 vue-pure-admin,相信它会给你带来惊喜。

项目地址:https://github.com/pure-admin/vue-pure-admin

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star

https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

https://chencoding.top:8090/#/

我创建了一个开源项目交流群,方便大家在群里交流、讨论开源项目

但是任何人在群里打任何广告,都会被 T 掉

如果你对这个交流群感兴趣或者在使用开源项目中遇到问题,可以通过如下方式进群

关注微信公众号:【Java陈序员】,回复【开源项目交流群】进群,或者通过公众号下方的菜单添加个人微信,并备注【开源项目交流群】,通过后拉你进群

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!


本站提供的所有下载资源均来自互联网,仅提供学习交流使用,版权归原作者所有。如需商业使用,请联系原作者获得授权。 如您发现有涉嫌侵权的内容,请联系我们 邮箱:[email protected]