Convert Figma logo to code with AI

pure-admin logovue-pure-admin

全面ESM+Vue3+Vite+Element-Plus+TypeScript编写的一款后台管理系统(兼容移动端)

15,730
2,974
15,730
4

Top Related Projects

:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin

🎉 vue admin,vue3 admin,vue3.0 admin,vue后台管理,vue-admin,vue3.0-admin,admin,vue-admin,vue-element-admin,ant-design,vab admin pro,vab admin plus,vue admin plus,vue admin pro

A modern vue admin panel built with Vue3, Shadcn UI, Vite, TypeScript, and Monorepo. It's fast!

Naive Ui Admin 是一款基于 Vue3、Vite3 和 TypeScript 的先进中后台解决方案,集成了前沿的前端技术栈和典型业务模型。它拥有二次封装组件、动态菜单、权限校验、粒子化权限控制等核心功能,旨在帮助企业快速构建高质量的中后台项目。无论在新技术运用或业务实践层面,都能为您提供有力支持,并将持续更新,以满足您不断变化的需求

A clean, elegant, beautiful and powerful admin template, based on Vue3, Vite5, TypeScript, Pinia, NaiveUI and UnoCSS. 一个清新优雅、高颜值且功能强大的后台管理模板,基于最新的前端技术栈,包括 Vue3, Vite5, TypeScript, Pinia, NaiveUI 和 UnoCSS。

Vue3、Element Plus、typescript后台管理系统

Quick Overview

Vue Pure Admin is a free and open-source admin template based on Vue 3, Vite, and TypeScript. It offers a clean, modern interface with a variety of pre-built components and features, making it easier for developers to create robust admin panels and dashboards.

Pros

  • Built with modern technologies (Vue 3, Vite, TypeScript)
  • Comprehensive set of pre-built components and layouts
  • Supports both light and dark themes
  • Responsive design for various screen sizes

Cons

  • Learning curve for developers new to Vue 3 or TypeScript
  • May require customization for specific business needs
  • Documentation is primarily in Chinese, which could be a barrier for non-Chinese speakers

Code Examples

  1. Creating a basic route:
const route: RouteRecordRaw = {
  path: "/dashboard",
  component: () => import("@/layout/index.vue"),
  redirect: "/dashboard/analysis",
  meta: {
    icon: "homeFilled",
    title: "Dashboard",
    rank: 0
  },
  children: [
    {
      path: "analysis",
      name: "Analysis",
      component: () => import("@/views/dashboard/analysis/index.vue"),
      meta: {
        title: "Analysis"
      }
    }
  ]
};
  1. Using a pre-built component:
<template>
  <pure-table
    :data="tableData"
    :columns="columns"
    :pagination="pagination"
    @page-change="handlePageChange"
  />
</template>

<script setup lang="ts">
import { ref } from "vue";
import { PureTable } from "@/components/Table";

const tableData = ref([/* ... */]);
const columns = [/* ... */];
const pagination = ref({ pageSize: 10, total: 100 });

const handlePageChange = (page: number) => {
  // Handle page change
};
</script>
  1. Implementing dark mode toggle:
<template>
  <el-switch
    v-model="isDark"
    inline-prompt
    :active-icon="Sunny"
    :inactive-icon="Moon"
    @change="changeDarken"
  />
</template>

<script setup lang="ts">
import { ref } from "vue";
import { useLayout } from "@/layout/hooks/useLayout";
import { Sunny, Moon } from "@element-plus/icons-vue";

const { isDark, changeDarken } = useLayout();
</script>

Getting Started

  1. Clone the repository:

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

    cd vue-pure-admin
    pnpm install
    
  3. Start the development server:

    pnpm dev
    
  4. Build for production:

    pnpm build
    

Visit http://localhost:8848 to see your app running.

Competitor Comparisons

:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin

Pros of vue-element-admin

  • More comprehensive documentation and examples
  • Larger community and ecosystem
  • Extensive internationalization support

Cons of vue-element-admin

  • Heavier and more complex, potentially overkill for smaller projects
  • Less frequent updates compared to vue-pure-admin
  • Steeper learning curve for beginners

Code Comparison

vue-element-admin:

import { mapGetters } from 'vuex'

export default {
  computed: {
    ...mapGetters([
      'sidebar',
      'device',
      'visitedViews',
      'cachedViews'
    ])
  }
}

vue-pure-admin:

import { useAppStore } from '@/store/modules/app'

export default {
  setup() {
    const appStore = useAppStore()
    return {
      sidebar: computed(() => appStore.sidebar),
      device: computed(() => appStore.device)
    }
  }
}

The code comparison shows that vue-element-admin uses Vuex with mapGetters for state management, while vue-pure-admin employs the Composition API with Pinia for a more modern approach. vue-pure-admin's code is generally more concise and easier to read, especially for developers familiar with the Composition API.

🎉 vue admin,vue3 admin,vue3.0 admin,vue后台管理,vue-admin,vue3.0-admin,admin,vue-admin,vue-element-admin,ant-design,vab admin pro,vab admin plus,vue admin plus,vue admin pro

Pros of vue-admin-better

  • More comprehensive documentation and examples
  • Larger community and more frequent updates
  • Better internationalization support

Cons of vue-admin-better

  • Steeper learning curve due to more complex architecture
  • Heavier bundle size, which may impact performance
  • Less flexibility for customization compared to vue-pure-admin

Code Comparison

vue-admin-better:

<template>
  <el-config-provider :locale="locale">
    <router-view />
  </el-config-provider>
</template>

vue-pure-admin:

<template>
  <router-view v-slot="{ Component, route }">
    <transition :name="getTransitionName(route)" mode="out-in">
      <keep-alive v-if="keepAliveComponents" :include="keepAliveComponents">
        <component :is="Component" :key="route.fullPath" />
      </keep-alive>
      <component v-else :is="Component" :key="route.fullPath" />
    </transition>
  </router-view>
</template>

The code comparison shows that vue-admin-better uses a simpler approach with el-config-provider for internationalization, while vue-pure-admin implements more advanced routing features like transitions and keep-alive components. This reflects the trade-off between ease of use and flexibility in the two projects.

A modern vue admin panel built with Vue3, Shadcn UI, Vite, TypeScript, and Monorepo. It's fast!

Pros of vue-vben-admin

  • More comprehensive documentation and examples
  • Larger community and more frequent updates
  • Better internationalization support

Cons of vue-vben-admin

  • Steeper learning curve due to complexity
  • Heavier bundle size
  • More opinionated structure, potentially less flexible

Code Comparison

vue-vben-admin:

import { defineComponent } from 'vue';
import { BasicForm, useForm } from '/@/components/Form';
import { formSchema } from './data';

export default defineComponent({
  setup() {
    const [registerForm, { setFieldsValue }] = useForm({
      schemas: formSchema,
    });
    // ... more code
  },
});

vue-pure-admin:

import { defineComponent, reactive } from 'vue';
import { ElForm } from 'element-plus';

export default defineComponent({
  setup() {
    const form = reactive({
      name: '',
      email: '',
    });
    // ... more code
  },
});

The code comparison shows that vue-vben-admin uses a more abstracted approach with custom hooks and schemas, while vue-pure-admin opts for a simpler, more direct implementation using Vue 3's Composition API and Element Plus components.

Naive Ui Admin 是一款基于 Vue3、Vite3 和 TypeScript 的先进中后台解决方案,集成了前沿的前端技术栈和典型业务模型。它拥有二次封装组件、动态菜单、权限校验、粒子化权限控制等核心功能,旨在帮助企业快速构建高质量的中后台项目。无论在新技术运用或业务实践层面,都能为您提供有力支持,并将持续更新,以满足您不断变化的需求

Pros of naive-ui-admin

  • Built on Naive UI, offering a rich set of customizable components
  • Includes a comprehensive permission management system
  • Provides a more modern and sleek user interface design

Cons of naive-ui-admin

  • Less extensive documentation compared to vue-pure-admin
  • Smaller community and fewer contributors
  • May have a steeper learning curve for developers new to Naive UI

Code Comparison

naive-ui-admin:

<template>
  <n-config-provider :theme="theme">
    <n-layout>
      <!-- Layout content -->
    </n-layout>
  </n-config-provider>
</template>

vue-pure-admin:

<template>
  <el-config-provider :locale="locale">
    <router-view />
  </el-config-provider>
</template>

The code snippets show that naive-ui-admin uses Naive UI components (n-config-provider, n-layout) while vue-pure-admin uses Element Plus components (el-config-provider). This reflects the different UI libraries each project is built upon.

Both projects offer robust admin template solutions for Vue.js applications, with vue-pure-admin having a larger community and more extensive documentation, while naive-ui-admin provides a modern interface and comprehensive permission management system. The choice between the two would depend on specific project requirements and developer preferences.

A clean, elegant, beautiful and powerful admin template, based on Vue3, Vite5, TypeScript, Pinia, NaiveUI and UnoCSS. 一个清新优雅、高颜值且功能强大的后台管理模板,基于最新的前端技术栈,包括 Vue3, Vite5, TypeScript, Pinia, NaiveUI 和 UnoCSS。

Pros of soybean-admin

  • More comprehensive documentation, including detailed setup instructions and component usage guides
  • Stronger focus on TypeScript integration, providing better type safety and developer experience
  • Includes built-in internationalization support, making it easier to create multilingual applications

Cons of soybean-admin

  • Slightly steeper learning curve due to its more complex architecture and feature set
  • May have more overhead for smaller projects that don't require all the included features
  • Less frequent updates compared to vue-pure-admin

Code Comparison

soybean-admin:

import { defineComponent } from 'vue';
import { NLayout, NLayoutSider, NLayoutContent } from 'naive-ui';

export default defineComponent({
  setup() {
    // Component logic
  }
});

vue-pure-admin:

<template>
  <el-container>
    <el-aside width="200px"><!-- Sidebar content --></el-aside>
    <el-main><!-- Main content --></el-main>
  </el-container>
</template>

<script>
export default {
  // Component logic
}
</script>

The code comparison shows that soybean-admin uses Naive UI components and TypeScript, while vue-pure-admin uses Element Plus components and Vue's Options API. This reflects soybean-admin's focus on TypeScript integration and a different UI library choice.

Vue3、Element Plus、typescript后台管理系统

Pros of vue-manage-system

  • Simpler and more lightweight, making it easier to understand and customize
  • Includes a variety of pre-built components and layouts for quick development
  • Well-documented with clear examples and usage instructions

Cons of vue-manage-system

  • Less comprehensive feature set compared to vue-pure-admin
  • May require more manual configuration for advanced functionalities
  • Limited built-in themes and styling options

Code Comparison

vue-manage-system:

<template>
  <div class="sidebar">
    <el-menu class="sidebar-el-menu" :default-active="onRoutes" :collapse="collapse" background-color="#324157"
      text-color="#bfcbd9" active-text-color="#20a0ff" unique-opened router>
      <template v-for="item in items">
        <template v-if="item.subs">

vue-pure-admin:

<template>
  <el-menu
    :default-active="activeMenu"
    :collapse="getCollapse"
    :unique-opened="getUniqueOpened"
    :collapse-transition="false"
    :background-color="menuBgColor"
    :text-color="menuTextColor"
    :active-text-color="menuActiveTextColor"
  >
    <sidebar-item

Both repositories offer Vue-based admin templates, but vue-pure-admin provides a more feature-rich and customizable solution, while vue-manage-system focuses on simplicity and ease of use. The code comparison shows differences in menu implementation, with vue-pure-admin offering more configuration options.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

vue-pure-admin

GitHub license GitHub stars GitHub forks

中文 | English

简介

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

研发理念

稳定中求创新,技术中见未来

精简版本(实际项目开发请用精简版本,提供 非国际化 、国际化 两个版本选择)

精简版本是基于 vue-pure-admin 提炼出的架子,包含主体功能,更适合实际项目开发,打包后的大小在全局引入 element-plus 的情况下仍然低于 2.3MB,并且会永久同步完整版的代码。开启 brotli 压缩和 cdn 替换本地库模式后,打包大小低于 350kb

点我查看非国际化精简版本
点我查看国际化精简版本

配套视频

点我查看 UI 设计
点我查看快速开发教程

配套保姆级文档

点我查看 vue-pure-admin 文档
点我查看 @pureadmin/utils 文档

优质服务、软件外包、赞助支持

点我查看详情

js 版本

点我查看 js 版本

max 版本

点我查看 max 版本

Tauri 版本

点我查看 Tauri 版本

Electron 版本

点我查看 Electron 版本

预览

点我查看预览

PC 端

PureAdmin
PureAdmin

暗色风格

PureAdmin
PureAdmin

移动端

PureAdmin

使用 Gitpod

在 Gitpod(适用于 GitHub 的免费在线开发环境)中打开项目,并立即开始编码.

Open in Gitpod

安装使用

拉取代码

推荐使用 @pureadmin/cli 脚手架


pure-admin-cli
  1. 全局安装
npm install -g @pureadmin/cli
  1. 交互式选择模板并创建项目
pure create

点我查看 @pureadmin/cli 脚手架详细用法

从 GitHub 上拉取

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

从 Gitee 上拉取

git clone https://gitee.com/yiming_chang/vue-pure-admin.git

安装依赖

cd vue-pure-admin

pnpm install

启动平台

pnpm dev

项目打包

pnpm build

Docker 支持

  1. 自定义镜像名为 vue-pure-admin 的镜像(请注意下面命令末尾有一个点 . 表示使用当前路径下的 Dockerfile 文件,可根据实际情况指定路径)
docker build -t vue-pure-admin .
  1. 端口映射并启动 docker 容器(8080:80:表示在容器中使用 80 端口,并将该端口转发到主机的 8080 端口;pure-admin:表示自定义容器名;vue-pure-admin:表示自定义镜像名)
docker run -dp 8080:80  --name pure-admin vue-pure-admin

操作完上面两个命令后,在浏览器打开 http://localhost:8080 即可预览

当然也可以通过 Docker Desktop 可视化界面去操作 docker 项目,如下图

docker-desktop

更新日志

CHANGELOG

如何贡献

非常欢迎您的加入!提一个 Issue 或者提交一个 Pull Request

Pull Request:

  1. Fork 代码!
  2. 创建自己的分支: git checkout -b feat/xxxx
  3. 提交您的修改: git commit -am 'feat(function): add xxxxx'
  4. 推送您的分支: git push origin feat/xxxx
  5. 提交pull request

特别代码贡献

非常感谢你们能深入了解源码并对 pure-admin 组织作出优秀贡献 ❤️

贡献人具体代码
hb0730代码
o-cc代码
yj-liuzepeng代码
skyline523代码
shark-lajiao代码
WitMiao代码
QFifteen代码
edgexie代码
way-jm代码

Git 贡献提交规范

参考 vue 规范 (Angular)

  • feat 增加新功能
  • fix 修复问题/BUG
  • style 代码风格相关无影响运行结果的
  • perf 优化/性能提升
  • refactor 重构
  • revert 撤销修改
  • test 测试相关
  • docs 文档/注释
  • chore 依赖更新/脚手架配置修改等
  • workflow 工作流改进
  • ci 持续集成
  • types 类型定义文件更改
  • wip 开发中

浏览器支持

本地开发推荐使用 Chrome、Edge、Firefox 浏览器,作者常用的是最新版 Chrome 浏览器
实际使用中感觉 Firefox 在动画上要比别的浏览器更加丝滑,只是作者用 Chrome 已经习惯了,看个人爱好选择吧
更详细的浏览器兼容性支持请看 Vue 支持哪些浏览器? 和 Vite 浏览器兼容性

 Edge
IE
 Edge
Edge
Firefox
Firefox
Chrome
Chrome
Safari
Safari
不支持最后两个版本最后两个版本最后两个版本最后两个版本

维护者

xiaoxian521、Ten-K

许可证

完全免费开源

MIT © 2020-present, pure-admin

Star

非常感谢留下星星的好心人,感谢您的支持 :heart:

Stargazers repo roster for @pure-admin/vue-pure-admin

Fork

瞧,那些 小哥哥 、小姐姐 认真 学习 的样子真滴是 哎呦不错哦 :heart:

Forkers repo roster for @pure-admin/vue-pure-admin