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

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

ruisui884个月前 (02-13)技术分析16

本文将带你通过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的后台管理系统” 的相关文章

10分钟搞定gitlab-ci自动化部署

gitlab-ci 是持续集成工具/自动化部署工具,类似 jenkins。持续集成 是将代码集成到共享存储库并尽可能早地自动构建/测试每个更改的实践 - 通常一天几次。概述在编码完成时都会进行打包发布过程,如果每次都手动操作这一步骤就会浪费时间,效率低下。所以就有了持续集成。准备事项请提前安装以下软...

编码 10000 个小时后,开发者悟了:“不要急于发布!”

【CSDN 编者按】在软件开发的道路上,时间是最好的老师。根据“一万小时定律”,要成为某个领域的专家,通常需要大约一万小时的刻意练习。本文作者身为一名程序员,也经历了一万小时的编程,最终悟出了一个道理:慢即是快,重视架构设计和代码质量,确保每一行代码都经得起时间的考验。作者 | Sotiris Ko...

摄影后期必看 | PS插件camera raw 16.4教程 | 范围蒙版

范围蒙版Camera Raw 【蒙版】模块中提供了三个范围蒙版工具,可以通过特定的范围来创建蒙版。此次新增的【范围蒙版】大大加强了acr插件对局部调整的能力。点击下拉小箭头可以看到【颜色范围】,可用于快速选择想要编辑的颜色。快捷键:Shift + C【明亮度范围】,可用于快速选择想要调整的明亮度。快...

深度解析!AI智能体在To B领域应用,汽车售后服务落地全攻略

在汽车售后服务领域,AI智能体的应用正带来一场效率和专业度的革命。本文深度解析了一个AI智能体在To B领域的实际应用案例,介绍了AI智能体如何通过提升服务顾问和维修技师的专业度及维修效率,优化汽车售后服务流程。上周我分享了AI智能体+AI小程序To C的AI应用场景《1000%增长!我仅用一个小时...

多项修正 尼康D4s发布最新1.10版固件

尼康公司与2014年8月27日发布了D4s的最新固件,固件版本号为C:1.10。这次固件升级,主要解决了一些BUG,并且对拍摄菜单与相机操作做了一定调整。下面是本次新固件的具体信息:尼康发布D4s最新C固件 1.10版对C固件升级到1.10版所作的修改:当选定运动VR模式并换上 AF-S 尼克尔 4...

分享15个基于Vue3.0全家桶的优秀开源项目

大家好,我是 Echa。今天来分享 15 个基于 Vue3.0 全家桶的优秀开源项目!1. Vue Admin Bettergithub : https://github.com/chuzhixin/vue-admin-bettervue admin better 对比其他来源 admin 框架有如...