当前位置:首页 > 技术分析 > 正文内容

超详细!10分钟开发一个Vue3的后台管理系统

ruisui883个月前 (02-13)技术分析12

本文将带你通过10分钟快速了解和创建一个简单的Vue3后台管理系统。通过本教程,你将掌握Vue3的基本用法,并学会如何搭建一个管理系统的基本框架。


一、环境准备



1. 安装Vue CLI

首先,确保你已经安装了Node.js和npm。然后使用以下命令安装Vue CLI:

npm install -g @vue/cli

2. 创建Vue项目

使用Vue CLI创建一个新的Vue3项目:

vue create vue-admin
cd vue-admin

在选择配置时,选择Vue 3和TypeScript(也可以根据需要选择JavaScript)。

二、项目结构

项目结构如下:

vue-admin
├── public
├── src
│   ├── assets
│   ├── components
│   ├── router
│   ├── store
│   ├── views
│   ├── App.vue
│   └── main.ts
├── package.json
└── ...

三、安装依赖

安装一些常用的第三方库,如Vue Router、Vuex和Element Plus(一个基于Vue 3的UI库):

npm install vue-router@next vuex@next element-plus

四、配置路由

在src目录下创建一个名为router的文件夹,并在其中创建index.ts文件:

src/router/index.ts:

import { createRouter, createWebHistory } from 'vue-router';
import Home from '../views/Home.vue';
import Login from '../views/Login.vue';

const routes = [
  { path: '/', component: Home, meta: { requiresAuth: true } },
  { path: '/login', component: Login },
];

const router = createRouter({
  history: createWebHistory(),
  routes,
});

router.beforeEach((to, from, next) => {
  const isAuthenticated = localStorage.getItem('auth') === 'true';
  if (to.matched.some(record => record.meta.requiresAuth) && !isAuthenticated) {
    next('/login');
  } else {
    next();
  }
});

export default router;

五、创建Vuex状态管理

在src目录下创建一个名为store的文件夹,并在其中创建index.ts文件:

src/store/index.ts:

import { createStore } from 'vuex';

const store = createStore({
  state: {
    user: null,
  },
  mutations: {
    setUser(state, user) {
      state.user = user;
    },
  },
  actions: {
    login({ commit }, user) {
      localStorage.setItem('auth', 'true');
      commit('setUser', user);
    },
    logout({ commit }) {
      localStorage.setItem('auth', 'false');
      commit('setUser', null);
    },
  },
  getters: {
    isAuthenticated: state => !!state.user,
  },
});

export default store;

六、配置Element Plus

在src目录下的main.ts文件中配置Element Plus:

import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
import store from './store';
import ElementPlus from 'element-plus';
import 'element-plus/lib/theme-chalk/index.css';

const app = createApp(App);
app.use(router);
app.use(store);
app.use(ElementPlus);
app.mount('#app');

七、创建视图

1. Home.vue

在src/views目录下创建一个名为Home.vue的文件:






2. Login.vue

在src/views目录下创建一个名为Login.vue的文件:






八、配置根组件

在src/App.vue中设置路由视图:




九、运行项目

一切配置完毕后,启动项目:

npm run serve

十、总结

通过以上步骤,你已经成功创建了一个简单的Vue3后台管理系统。尽管这个项目非常简洁,但可以作为进一步开发的基础。从这里,你可以继续添加更多功能,如用户管理、权限控制等,创建一个功能完备的后台管理系统。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/1918.html

标签: vue路由权限
分享给朋友:

“超详细!10分钟开发一个Vue3的后台管理系统” 的相关文章

Win+Ubuntu缝合怪:第三方开发者推出“Wubuntu”Linux发行版

IT之家 2 月 26 日消息,一位第三方开发者推出了一款名为“Wubuntu”的缝合怪 Linux 发行版,系统本身基于 Ubuntu,但界面为微软 Windows 11 风格,甚至存在微软 Windows 徽标。据介绍,这款 Wubuntu 发行版旨在为习惯使用 Windows 11 的用户打造...

gitlab简单搭建与应用

一、gitlab1、简介GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。与Github类似,GitLab能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历...

GitLab 14.6发布,优化Geo高可用,安全更新等

昨天,GitLab官方按照管理发布了有一个月度版本GitLab 14.6的发布,这也是本年度收官版本。14.6中在安全合规性方面,在Geo方面以及MD代码块一键复制等方便做了优化,另外还在UI图标方面发布了一套全新的图标。详细情况请和虫虫一起学习。GitLab 14.6主要改进使用 Geo 实现无缝...

Acustica Audio 发布模拟Roland Jupiter 双声道合成器插件 TH2

福利: Acustica Audio 发布模拟Roland Jupiter 风格的双声道合成器插件 TH2 免费下载 意大利 Acustica Audio 公司发布布模拟Roland Jupiter 风格的双声道合成器插件 TH2 ,灵感来源于Acustica Audio的THING-8系列,它是...

学前端,这30个CSS选择器,你必须熟记

你学会了基本的id,class类选择器和descendant后代选择器,然后就觉得完事了吗?如果这样,你就会错过许多灵活运用CSS的机会。虽然本文提到的许多选择器都属于CSS3,并且只能在现代的浏览器中使用,但学会这些是大有好处的。什么是CSS选择器呢?每一条css样式定义由两部分组成,形式如下:[...

佳能 EOS R8 深度评测

佳能 EOS R8 的定位是入门级全画幅无反光镜可换镜头相机。尽管在产品阵容中处于这一位置,R8 仍然是一个强大的相机,配备了先进的 R6 II 同款成像传感器、快速处理器和令人难以置信的自动对焦系统,体积小、重量轻、价格低。这款相机是发烧友、旅行者、家庭以及任何想要全画幅传感器相机的人的绝佳选择。...