手把手和你一起从0搭建一个vite+Vue3+element-plus的后台管理系统!

news2024/11/16 0:49:11

首选需要node环境。你可以参考:如何创建一个vue的新项目,用命令行的方式创建.下载node.js-CSDN博客

所需要的内容官网:

https://vitejs.dev/

安装 | Element Plus

Vue Router | Vue.js 的官方路由

axios中文网|axios API 中文文档 | axios

  • 下载最新的vite :

npm create vite@latest

然后写个项目名称, 项目框架,语言我选的ts

 

 然后跳转到我们的项目中,下载依赖。npm install。

 

  •  安装配置 Element Plus
  • npm install element-plus --save

 在main.js里面引入element-plus

import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'

const app = createApp(App)
app.use(ElementPlus)
 Element plus 中,Icon 需要单独配置:

npm install @element-plus/icons

在main.js里面配置

import * as ElIcon from '@element-plus/icons-vue'

Object.keys(ElIcon).forEach((key) => {

app.component(key, ElIcon[key])

  • 配置路由,使用vue-router

npm install vue-router --save

 在src 文件夹下新建 router 文件夹,然后新建 index.js

import { createRouter, createWebHistory, createWebHashHistory } from 'vue-router'
import type { RouteRecordRaw,_RouteRecordBase } from 'vue-router'
import Layout from '@/layout/index.vue'

/**
 * constantRoutes
 * a base page that does not have permission requirements
 * all roles can be accessed
 */
 export const constantRoutes:RouteRecordRaw[] = [
  {
    path: '/login',
    component: () => import('@/views/login/index.vue'),
    meta: {title: '用户登录', hidden: true},
  },
  {
    path: '/404',
    component: () => import('@/views/error-page/404.vue'),
    hidden: true
  },
  {
    path: '/401',
    component: () => import('@/views/error-page/401.vue'),
    hidden: true
  },
  {
    path: '/redirect',
    component: Layout,
    meta: { hidden: true },
    children: [
      {
        path: '/redirect/:path(.*)',
        component: () => import('@/views/redirect/index.vue')
      }
    ]
  },
  {
    path: '/',
    component: Layout,
    redirect: '/home',
    children: [
      {
        path: 'home',
        component: () => import ("@/views/home/index.vue"),
        name: 'Home',
        meta: { title: 'Dashboard', icon: 'HomeFilled', affix: true }
      }
    ]
  },
]

/**
 * asyncRoutes
 * the routes that need to be dynamically loaded based on user roles
 */
export const asyncRoutes:RouteRecordRaw[] = [

  // 404 page must be placed at the end !!!
  { path: '/:pathMatch(.*)', redirect: '/404', hidden: true }
]

const router = createRouter({
  history: createWebHashHistory(import.meta.env.BASE_URL),
  routes: [
    ...constantRoutes,
    ...asyncRoutes
  ]
})

export const addRoutes = (routes:RouteRecordRaw[]) => {
  for(let i = 0; i < routes.length; i++) {
    router.addRoute(routes[i])
  }
}

export default router

在main.js里面引入

import router from './router'
app.use(router)

  • .安装配置 Axios

npm i axios -- save

在 src 文件夹下新建 utils 文件夹,在 utils 文件夹下新建 http 文件夹,然后 新建 axios.js 和 http.js。

  1. axios.js:主要用来创建 axios 实例、拦截请求和响应。
  2. http.js:主要用来封装各种请求。

 

 在 vite.config.js 配置跨域:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1910615.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在国内允许交易伦敦金吗?有没有好的伦敦金交易策略

伦敦金&#xff0c;作为全球金融市场上的一种重要投资品种&#xff0c;以其独特的交易机制和价值稳定性吸引了无数投资者的目光。然而&#xff0c;对于国内投资者而言&#xff0c;是否可以合法参与伦敦金的交易&#xff0c;以及如何制定有效的交易策略&#xff0c;是他们普遍关…

主动算法交易!减持回购/套利/大单拆分/篮子交易/预埋单神器工具!

主动算法致力于服务机构投资者&#xff0c;为其提供以成交为目的的自动化交易执行。 在有限容量内&#xff0c;充分追求客户个性化需求&#xff0c;保证执行效率、降低冲击成本、减少人力成本、保护交易意图、 捕捉交易机会、 符合监管要求和获取交易环节的ALpha收益。 能够帮…

初阶C++(二)

初阶C&#xff08;二&#xff09; 1. 重载函数&#xff08;一&#xff09;对于重载函数的理解&#xff08;二&#xff09;重载函数分类2.引用&#xff08;一&#xff09; 引⽤的概念和定义&#xff08;二&#xff09;引用的使用&#xff08;三&#xff09;const引用 1. 重载函数…

EI期刊目录为何还没更新?预警、On Hold、镇压多重bug,神仙难救Top能逃此劫吗?

本周投稿推荐 SCI • 能源科学类&#xff0c;1.5-2.0&#xff08;25天来稿即录&#xff09; • CCF推荐&#xff0c;4.5-5.0&#xff08;2天见刊&#xff09; • 生物医学制药类&#xff08;2天逢投必中&#xff09; EI • 各领域沾边均可&#xff08;2天录用&#xff09…

*AI大模型热潮下的冷静思考:谁在守护模型安全?

随着2023年4月的到来&#xff0c;AI大模型领域仿佛迎来了春天&#xff0c;各类产品如雨后春笋般涌现&#xff0c;成为科技界乃至社会各界的热议焦点。从阿里巴巴的“通义千问”到华为的“盘古大模型”&#xff0c;再到商汤科技的“商量SenseChat”&#xff0c;以及即将亮相的“…

一文清晰了解CSS

一、基本概念 1.定义 CSS&#xff08;Cascading Style Sheets&#xff0c;层叠样式表&#xff09;&#xff0c;前面说了CSS是一种用于描述网页内容外观和样式的标记语言。 具体地&#xff0c;它通过选择器将样式规则应用到HTML元素上&#xff0c;控制网页的布局、颜色、字体等…

linux中top、htop监控工具命令详解

文章目录 top 命令概述如何使用 top 命令top 命令输出解释各部分解释系统信息任务信息CPU 使用信息内存使用信息进程信息 top 命令的常用交互操作top 命令的常用选项查看每个CPU使用情况示例说明默认视图按下 1 键后的视图 如何使用 htop和top之间比较用户界面和可用性功能和特…

服务器信息获取工具

功能介绍 SSH连接到远程服务器&#xff1a; 用户可以输入目标服务器的IP地址、用户名、密码以及SSH端口&#xff08;默认22&#xff09;。 工具会尝试连接到远程服务器&#xff0c;并在连接失败时显示错误信息。 运行命令并返回输出&#xff1a; 工具可以在远程服务器上运…

游戏AI的创造思路-技术基础-决策树(1)

决策树&#xff0c;是每个游戏人必须要掌握的游戏AI构建技术&#xff0c;难度小&#xff0c;速度快&#xff0c;结果直观&#xff0c;本篇将对决策树进行小小解读~~~~ 目录 1. 定义 2. 发展历史 3. 决策树的算法公式和函数 3.1. 信息增益&#xff08;Information Gain&…

枚举对象序列化规则(将Java枚举转换为JSON字符串的步骤)

文章目录 引言I 案例分析1.1 接口签名计算1.2 请求对象1.3 枚举对象序列化II 在JSON中以枚举的code值来表示枚举的实现方式2.1 自定义toString方法返回code引言 在Java中,每个对象都有一个toString方法,用于返回该对象的字符串表示。默认情况下,Enum类的toString方法返回的…

dbeaver连接postgresql报错��������: �û� “root“ Password ��֤ʧ��

文章目录 问题描述解决办法 问题描述 新安装完成的postgresql通过dbeaver连接访问报错&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;: &#xfffd;&#xfffd; “root” Password &#xfffd;&#xfffd;֤ʧ&#…

绝区柒--LLM简史

这是一系列LLM介绍的可成&#xff0c;分以下五个不分 序言&#xff1a;大型语言模型LLM简史第一部分&#xff1a;代币化——完整指南第 2 部分&#xff1a;使用 Python 中的 Scratch 从零开始使用 word2vec 进行词嵌入第 3 部分&#xff1a;用代码解释自注意力机制第 4 部分&a…

揭秘“消费即赚”的循环购模式

大家好&#xff0c;我是吴军&#xff0c;今天我将带您深入探索一种颠覆传统的新型商业模式——循环购模式。在这个模式中&#xff0c;消费者不仅能享受到购物的乐趣&#xff0c;还能通过消费获得实实在在的回报&#xff0c;甚至实现“边消费边赚钱”的奇妙体验。您是否好奇&…

Floyd算法简单理解:不断加中转点更新最短路,实现多对多最短路径

目录 Floyd算法 简单理解 简单例子 Floyd算法简单理解:不断加中转点更新最短路,实现多对多最短路径 Floyd算法 又称为Floyd-Warshall算法,是一种用于求解带权有向图中任意两顶点间的最短路径的算法。该算法利用动态规划的思想,通过不断更新顶点对之间的最短路径来实现。…

Games101——光珊化——深度缓存——shading着色 1

深度缓存 如何解决远近的问题&#xff0c;能正确的覆盖 按照画作来说&#xff0c;先画出远处的物体&#xff0c;再画出近处的物体&#xff0c;近处会将其覆盖&#xff0c;这种算法叫做画家算法 但事实上&#xff0c;排序不仅要花更多的时间&#xff0c;而且排序并不容易&…

Simulink生成代码时端口名称乱码问题

写在最前&#xff1a; 在使用Simulink生成代码时发现端口名称与模型中定义的输如输出端口名称不一致&#xff0c;代码生成的端口名称为随机字符名称。 在生成的H文件中发现&#xff0c;端口定义的结构体名称与模型中实际定义的名称不符。 模型中的定义 检查后发现&#xff0c…

Dbeaver连接人大金仓

Dbeaver 连接 人大金仓。 1、新建驱动管理器 类名&#xff1a;com.kingbase8.Driver URL模板&#xff1a;jdbc:kingbase8://{host}[:{port}]/[{database}] &#xff08;格式&#xff1a;jdbc:kingbase://IP地址:端口号/数据库名称&#xff09;&#xff1b; 默认端口&#x…

【学术会议征稿】第八届电气、机械与计算机工程国际学术会议(ICEMCE 2024)

第八届电气、机械与计算机工程国际学术会议&#xff08;ICEMCE 2024&#xff09; 2024 8th International Conference on Electrical, Mechanical and Computer Engineering 第八届电气、机械与计算机工程国际学术会议&#xff08;ICEMCE 2024&#xff09;将于2024年10月25日…

1区老牌神刊,仅37天录用!网友:“这审稿速度救了我一条命”!

关注GZH【欧亚科睿学术】&#xff0c;GET完整版2023JCR分区列表&#xff01; ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 期刊信息概况 【期刊类型】计算机科学类SCIE&EI 【出版社】ELSEVIER出版社 【期刊概况】IF&#xff1a;4.0-5.0&#xff0c;JCR1区&#xff0c;中科院3区…

MATLAB实现-基于CNN-BiLSTM卷积神经网络结合双向长短期记忆神经网络数据分类预测(多输入多分类)

MATLAB实现-基于CNN-BiLSTM卷积神经网络结合双向长短期记忆神经网络数据分类预测&#xff08;多输入多分类&#xff09; 1.数据均为Excel数据&#xff0c;直接替换数据就可以运行程序。 2.所有程序都经过验证&#xff0c;保证程序可以运行。 3.具有良好的编程习惯&#xff0…