A backend management system based on vue3, typescript, element-plus, and vite
See the codeEnglish | 中文
ElementAdmin v3 is a Vue 3 and Element Plus admin template focused on stable infrastructure rather than a large collection of demo pages. It keeps the capabilities most admin applications need—session recovery, server-driven routes, layouts, TagsView, requests, forms, CRUD state, themes and internationalization—while leaving business UI and domain models to each application.
The repository uses a pnpm workspace. Shared, application-independent capabilities live in packages, so future applications can reuse them without importing Admin-specific routes, stores or assets.
apps/
├─ admin/ Admin application
└─ docs/ v3 documentation
packages/
├─ components/ Small cross-app UI primitives
├─ hooks/ UI-independent useCrud and useForm
├─ request/ Business-independent Axios client
└─ styles/ Shared reset and theme variables
The packages currently export workspace source code and are compiled by each Vite application. They are not prebuilt npm packages.
^20.19.0 || ^22.13.0 || >=24.0.0>=9.5.0 ([email protected] is pinned by the repository)git clone --branch master --single-branch https://github.com/kailong321200875/vue-element-plus-admin.git
cd vue-element-plus-admin
pnpm install
pnpm dev:admin
Admin runs at http://localhost:4000/ by default.
username: admin
password: admin
The built-in Mock API runs through the development mock server locally. When VITE_USE_MOCK=true, production builds include the browser-side mock adapter as well, so the static demo remains fully usable without a backend.
| Command | Description |
|---|---|
pnpm dev:admin | Start the Admin development server |
pnpm build:admin | Build Admin with the production mode |
pnpm build:admin:dev | Build Admin with development variables |
pnpm build:admin:test | Build Admin with test variables |
pnpm preview:admin | Preview the Admin production build |
pnpm typecheck | Type-check Admin and shared packages |
pnpm dev:docs | Start the documentation app |
pnpm build:docs | Build the documentation app |
pnpm preview:docs | Preview the documentation build |
pnpm lint | Run Oxlint across the workspace |
pnpm format:check | Check formatting across the workspace |
pnpm style:check | Check styles across the workspace |
Package tests:
pnpm --filter @vea/hooks test
pnpm --filter @vea/request test
Start the v3 documentation locally:
pnpm dev:docs
It runs at http://localhost:4002/ by default.
The former site at element-plus-admin-doc.cn documents the legacy architecture. New projects should use the v3 documentation and current branch code.
Only the root layout, login, redirect and error shell routes are static. After authentication, the API returns the complete route tree available to the current user.
component value | Meaning |
|---|---|
# | Admin Layout |
## | Route group without a page component |
views/Dashboard/Analysis | Page under apps/admin/src/views |
Route icons must be registered by the consuming app, and route names must be globally unique.
apps/admin; shared packages must not import application code.packages only after it has a stable, application-independent contract.Commits are checked by Husky, vue-tsc, lint-staged and Commitlint. Conventional Commit examples:
feat: add user management
fix: resolve dynamic route refresh
docs: update deployment guide
refactor: simplify request client
Issues and pull requests are welcome.
git checkout -b feat/your-feature.master.See the change log for project history.
Modern browsers are supported. Internet Explorer is not supported.
If this project helps you, sponsorship is welcome.
52 followers · starred Apr 2025
96 followers · starred Aug 2023
A backend management system based on vue3, typescript, element-plus, and vite
See the codeEnglish | 中文
ElementAdmin v3 is a Vue 3 and Element Plus admin template focused on stable infrastructure rather than a large collection of demo pages. It keeps the capabilities most admin applications need—session recovery, server-driven routes, layouts, TagsView, requests, forms, CRUD state, themes and internationalization—while leaving business UI and domain models to each application.
The repository uses a pnpm workspace. Shared, application-independent capabilities live in packages, so future applications can reuse them without importing Admin-specific routes, stores or assets.
apps/
├─ admin/ Admin application
└─ docs/ v3 documentation
packages/
├─ components/ Small cross-app UI primitives
├─ hooks/ UI-independent useCrud and useForm
├─ request/ Business-independent Axios client
└─ styles/ Shared reset and theme variables
The packages currently export workspace source code and are compiled by each Vite application. They are not prebuilt npm packages.
^20.19.0 || ^22.13.0 || >=24.0.0>=9.5.0 ([email protected] is pinned by the repository)git clone --branch master --single-branch https://github.com/kailong321200875/vue-element-plus-admin.git
cd vue-element-plus-admin
pnpm install
pnpm dev:admin
Admin runs at http://localhost:4000/ by default.
username: admin
password: admin
The built-in Mock API runs through the development mock server locally. When VITE_USE_MOCK=true, production builds include the browser-side mock adapter as well, so the static demo remains fully usable without a backend.
| Command | Description |
|---|---|
pnpm dev:admin | Start the Admin development server |
pnpm build:admin | Build Admin with the production mode |
pnpm build:admin:dev | Build Admin with development variables |
pnpm build:admin:test | Build Admin with test variables |
pnpm preview:admin | Preview the Admin production build |
pnpm typecheck | Type-check Admin and shared packages |
pnpm dev:docs | Start the documentation app |
pnpm build:docs | Build the documentation app |
pnpm preview:docs | Preview the documentation build |
pnpm lint | Run Oxlint across the workspace |
pnpm format:check | Check formatting across the workspace |
pnpm style:check | Check styles across the workspace |
Package tests:
pnpm --filter @vea/hooks test
pnpm --filter @vea/request test
Start the v3 documentation locally:
pnpm dev:docs
It runs at http://localhost:4002/ by default.
The former site at element-plus-admin-doc.cn documents the legacy architecture. New projects should use the v3 documentation and current branch code.
Only the root layout, login, redirect and error shell routes are static. After authentication, the API returns the complete route tree available to the current user.
component value | Meaning |
|---|---|
# | Admin Layout |
## | Route group without a page component |
views/Dashboard/Analysis | Page under apps/admin/src/views |
Route icons must be registered by the consuming app, and route names must be globally unique.
apps/admin; shared packages must not import application code.packages only after it has a stable, application-independent contract.Commits are checked by Husky, vue-tsc, lint-staged and Commitlint. Conventional Commit examples:
feat: add user management
fix: resolve dynamic route refresh
docs: update deployment guide
refactor: simplify request client
Issues and pull requests are welcome.
git checkout -b feat/your-feature.master.See the change log for project history.
Modern browsers are supported. Internet Explorer is not supported.
If this project helps you, sponsorship is welcome.
52 followers · starred Apr 2025
96 followers · starred Aug 2023