当前位置: 首页 > news >正文

vue3.0脚手架、路由、Element Plus安装案例:收录于Vue 3.0 后台管理系统案例

目录

环境配置

Vue 3.0 脚手架(Vite)安装

node版本查询与切换

创建一个vue应用

Vue Router安装

安装vue-router@4

配置路由

安装配置

展示路由

Element UI安装

安装element-plus

引入element-plus

使用element-plus

用户登录


环境配置

Vue 3.0 脚手架(Vite)安装


node版本查询与切换

         首先,需要着重强调的是,您的电脑必须成功安装 Node.js ,并且建议安装的版本为 18.3 及以上。您能够通过在终端或者命令提示符中输入“node -v”这一指令,便捷地对已安装的 Node.js 版本进行查验。

      倘若您期望列出当前系统中已安装的所有 Node.js 版本,此时可以巧妙地运用 nvm(也就是 Node Version Manager,节点版本管理器)所提供的相关命令,具体操作如下:

nvm ls  21.6.2  * 14.17.3 (Currently using 64-bit executable)  

        假如您打算使用 Node.js 的 21.6.2 版本,只需执行如下命令,nvm 便会将当前的 Node.js 版本无缝切换至 21.6.2 :

nvm use 21.6.2  
Now using node v21.6.2 (64-bit)  

        关于当前安装的 Node.js 版本的详细信息,呈现情况如下所示:

node -v  
v21.6.2  

创建一个vue应用

       创建的项目将采用基于 Vite 的构建设置,这一设置为我们运用 Vue 的单文件组件 (SFC) 提供了极大的便利和灵活性。首先,创建一个全新的项目目录,并在该目录中打开终端。接着,在命令行中运行“npm create vue@latest”命令。当您在安装 Vue 脚手架的过程中看到“Ok to proceed?”这一提示时,它通常是在询问您是否确定要继续当前的操作。在此情况下,您只需在键盘上输入“y”即可确认继续。

        具体情况如下所示:

npm create vue@latest  
Need to install the following packages:  
create-vue@3.10.4  
Ok to proceed? (y) y  

        接下来,将会安装并执行“create-vue”,它是由 Vue 官方所提供的项目脚手架工具。在这个过程中,您将会看到一系列诸如 TypeScript 和测试支持等可选功能的提示。倘若您对于是否开启某个特定功能不太确定,那么直接按下回车键选择“ No ”即可。

        具体情况如下所示:

Vue.js - The Progressive JavaScript Framework  √ Project name: ... QIANDUANJIDI-CMS  
√ Package name: ... qianduanjidi-cms  
√ Add TypeScript? ... No / Yes  
√ Add JSX Support? ... No / Yes  
√ Add Vue Router for Single Page Application development? ... No / Yes  
√ Add Pinia for state management? ... No / Yes  
√ Add Vitest for Unit Testing? ... No / Yes  
√ Add an End-to-End Testing Solution? » No  
√ Add ESLint for code quality? ... No / Yes  
√ Add Vue DevTools 7 extension for debugging? (experimental) ... No / Yes  Scaffolding project in D:\后台管理系统\QIANDUANJIDI-CMS...  Done. Now run:  

        在项目成功创建之后,您需要按照以下步骤来安装依赖:

cd .\QIANDUANJIDI-CMS\  
npm install  added 1 package, removed 39 packages, changed 5 packages, and audited 32 packages in 3m  4 packages are looking for funding  run `npm fund` for details  found 0 vulnerabilities  

        最后,启动开发服务器:

npm run dev  > qianduanjidi-cms@0.0.0 dev  
> vite  VITE v5.4.0  ready in 458 ms  ➜  Local:   http://localhost:5173/  ➜  Network: use --host to expose  ➜  press h + enter to show help  

        备注:

        在选择功能模块时,如果您对某个功能在未来的需求不太明确,建议先选择“ No ”。这样做可以避免引入不必要的复杂性,使项目保持相对简洁和易于管理。而在安装依赖的过程中,可能会由于网络状况不稳定或其他各种因素,导致一些包的安装出现问题。此时,您可以根据具体的错误提示信息,采取相应的、有针对性的解决措施,以确保项目的顺利推进。

        运行结果:

Vue Router安装


安装vue-router@4

      打开终端,切换至您的 Vue 项目所在的目录。接下来,使用如下命令来安装 Vue Router:

npm install vue-router@4  

        在安装过程中,显示如下信息:

added 2 packages, and audited 34 packages in 3s  5 packages are looking for funding  run `npm fund` for details  found 0 vulnerabilities  

配置路由

        创建一个名为 router.js 的文件,并在其中进行路由配置:

// 首先,从 vue-router 库中导入 createRouter 函数和 createWebHistory 函数 
import { createRouter,createWebHistory } from 'vue-router';  // 然后,引入自定义的组件 Home 和 About
import Home from '@/components/home/index.vue';  
import About from '@/components/about/index.vue';  // 接下来,定义路由规则
const routes = [  {   path: '/home',   component: Home   },  {   path: '/about',  component: About   }  
];  // 随后,创建 router 实例 
const router = createRouter({  history:createWebHistory(),  routes  
});  // 最后,将创建好的 router 实例导出,以便在其他模块中使用
export default router;  

        分析:

        首先,从 vue-router 库中引入了两个极为关键的函数,分别是用于创建路由实例的 createRouter 函数以及用于设定路由历史模式的 createWebHistory 函数。这为后续的路由配置奠定了基础。

    紧接着,导入了两个精心自定义的组件,即 Home 和 About。这两个组件在后续的路由配置过程中,将扮演重要角色,作为路由路径所对应的实际展示内容。

       之后,通过 routes 数组清晰地定义了两条路由规则。每条路由规则都精准地涵盖了路径(path)以及与之紧密相对应的组件(component)。这确保了在不同的路径访问时,能够准确加载对应的组件,实现页面内容的切换和展示。

        接着,借助 createRouter 函数成功创建了一个路由实例 router 。在创建过程中,将路由的历史模式配置为基于浏览器历史的 createWebHistory ,并将之前精心定义的路由规则数组 routes 准确无误地传递给了该路由实例。这使得路由实例能够根据规则进行页面的跳转和管理。

        最后,将创建完成的路由实例 router 进行导出。如此一来,它便能够在其他模块中得以灵活使用。通常情况下,会在 Vue 应用的入口文件中进行注册和运用,从而实现整个应用的路由功能。

        总的来讲,这段代码出色地完成了 Vue Router 的基础配置工作。不仅条理清晰地定义了路由规则,还精心创建出了能够在整个应用里稳定使用的路由实例,为应用的页面导航和内容展示提供了坚实的架构支持。

安装配置

        在main.js中安装路由:

import { createApp } from 'vue'  
import App from './App.vue'  
import router from './router'  createApp(App)  
.use(router)  
.mount('#app') 

        分析:

     首先,从 vue 库中精准地导入了 createApp 函数。同时,从本地文件 './App.vue' 中引入了根组件 App,并从 './router' 成功载入了路由配置对象 router 。这为后续的应用创建和配置做好了充分的准备。

        接下来,创建了一个 Vue 应用实例,并将 App 组件明智地设定为根组件。这确立了应用的基础架构和初始展示内容。

        而后,向此应用实例巧妙地注册了路由功能。这一关键步骤使得应用能够依据事先定义好的路由规则,实现页面的流畅切换与精彩展示,为用户提供丰富的交互体验。

       最后,将 Vue 应用挂载至页面中 id 为 app 的 DOM 元素上。这一操作确保了应用能够在指定的页面位置完美呈现,与用户进行有效的互动和交流。

        总的来讲,这段代码实现了 Vue 应用的创建、路由的注册以及应用的挂载操作。通过这一系列精心设计的步骤,确保了整个 Vue 应用能够在指定的页面位置正常运转和交互,为用户带来优质的使用体验。

展示路由

        在 App.vue 中使用 <router-view> 来展示当前路由的组件:

<template>  <router-view></router-view>  
</template>  <script>  
export default {};  
</script>  <style scoped>  
</style>  

        分析:

        在 <template> 标签内部,<router-view> 乃是由 Vue Router 所提供的一个独特的占位符组件。其作用至关重要,当路由规则成功匹配到对应的组件时,被匹配的组件内容就会在此处进行渲染并予以精彩展示。

        综上所述,这段代码构成了一个 Vue 组件的基础架构。其核心要点在于巧妙地借助 <router-view> 实现对路由匹配组件内容的动态呈现,为应用的页面切换和内容更新提供了高效的实现方式。

        运行结果:

        首页:http://localhost:5173/home

        关于页面:http://localhost:5173/about

Element UI安装


安装element-plus

       在 Vue 项目中,首先要打开终端,并准确无误地切换至项目所在的目录。接下来,就可以通过以下命令来安装 Element UI:、

       若选择使用 NPM:

      此命令会借助 NPM 包管理器,将 element-plus 精准地安装到项目之中,并将其妥善地作为项目的依赖予以保存。

npm install element-plus --save  

        若决定使用 Yarn:

        Yarn 同样具备出色的能力,能够顺利地完成 element-plus 的安装工作,并将其精准地添加到项目的依赖列表当中。

yarn add element-plus  

        若倾向于使用 pnpm:

        pnpm 也完全可以实现 element-plus 的顺畅安装。

pnpm install element-plus  

        

引入element-plus

        在 main.js 文件中开展 Element UI 的引入操作:

        首先:将 element-plus 模块引入进来,并加载其对应的样式文件。

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

        然后进行注册:通过.use() 方法,将 ElementPlus 成功注册到 Vue 应用之中,使其能够在整个应用范围内被有效使用,从而为项目提供丰富多样的 UI 组件和精美时尚的样式。

createApp(App)  
.use(ElementPlus)  

        总结:

       如此一来,就圆满地完成了 element-plus 的安装和引入工作,为构建拥有精美界面的 Vue 应用奠定了坚实的基础。

使用element-plus

        在 Vue 中运用部分 Element UI 的组件,例如构建了一个简易的 Vue 组件,呈现出了一个标题以及一个具备数据绑定内容的按钮,并且对相关数据进行了定义。借由这样的方式,达成了组件内部数据与视图的交互。以此来检测其安装是否成功以及功能是否处于正常状态。

        代码如下:

<template>  <div>  <h2>这是首页</h2>  <el-button>{{ message }}</el-button>  </div>  
</template>  <script>  
export default {  data(){  return {  message:'Hello Element Plus'  }  }  
};  
</script>  <style scoped>  
</style>  

        运行结果:

用户登录

详见下一章节

相关文章:

vue3.0脚手架、路由、Element Plus安装案例:收录于Vue 3.0 后台管理系统案例

目录 环境配置 Vue 3.0 脚手架&#xff08;Vite&#xff09;安装 node版本查询与切换 创建一个vue应用 Vue Router安装 安装vue-router4 配置路由 安装配置 展示路由 Element UI安装 安装element-plus 引入element-plus 使用element-plus 用户登录 环境配置 Vue 3…...

JS中原型相关的十个知识点总结

JavaScript 中的原型&#xff08;Prototype&#xff09;是理解对象和继承机制的核心概念。以下是我对 JavaScript 原型相关知识点的总结和详细讲解&#xff1a; 1. 原型对象&#xff08;Prototype Object&#xff09; 在 JavaScript 中&#xff0c;每个对象都有一个关联的对象…...

使用DevKit套件调优 --未完

基于鲲鹏开发板使用DevKit套件调优 鲲鹏开发板平台使用体验 我们使用的硬件平台是Orange Pi Kunpeng Pro,外观如下图 我们看到我们的Orange Pi 颜值相当的高&#xff0c;我们使用远程连接后就能看见我们非常漂亮的openEuler的桌面。 openEuler操作系统已经预装好了&#xf…...

Vue3+ElementUI中的Table组件的使用

Vue3ElementUI中的Table组件的使用 校验表格内多个输入框校验 表格滚动到底部 校验 表格内多个输入框校验 注意prop如何写。实现&#xff1a;一旦输入框内部有更改&#xff0c;清空校验&#xff1b;实现&#xff1a;自定义校验错误提示信息样式&#xff1b;实现&#xff1a;在…...

Highcharts 条形图:数据可视化的利器

Highcharts 条形图:数据可视化的利器 引言 在数据分析和可视化领域,Highcharts 是一个广受欢迎的 JavaScript 图表库。它以其易用性、灵活性和丰富的图表类型而著称。其中,条形图作为一种基础但功能强大的图表类型,被广泛应用于各种场景,以直观地展示数据分布和比较。本…...

嵌入式初学-C语言-二四

Void与void*的区别 定义&#xff1a; Void&#xff1a;空类型&#xff0c;是数据类型的一种 Void*&#xff1a;是指针类型&#xff0c;是指针类型的一种&#xff0c;可以匹配任何类型的指针&#xff0c;类似于通配符 Void 说明&#xff1a;void作为返回值类型使用&#xf…...

tcpdump入门——每种flag分别表示什么意思

在 tcpdump 的输出中&#xff0c;TCP 标志位&#xff08;Flags&#xff09;通常用简写字符表示。以下是每种 TCP 标志位的含义及其对应的简写字符&#xff1a; TCP 标志位及其简写 SYN (Synchronize) 作用&#xff1a;用于初始化连接。简写字符&#xff1a;S ACK (Acknowledgm…...

Qt如何封装工具

在Qt中封装工具类或库是一种常见的开发模式&#xff0c;通过封装可以提高代码的可重用性、可维护性和模块化。以下是封装工具类的一些步骤和最佳实践&#xff1a; ### 1. 创建工具类 首先&#xff0c;创建一个新的C类作为你的工具类。在Qt Creator中&#xff0c;可以通过右键点…...

vue3进阶用法之通过调用函数动态加载组件用法及示例

业务场景 假设现在有一个可能在全局任何地方调用的vue组件你会怎么办&#xff1f;非常简单&#xff0c;在app.vue下的router-view同级写上这个组件&#xff0c;在全局中加一个变量v-if判断这个变量就解决了&#xff01; tempalte中 <div><router-view /><You…...

线程和进程的关系

计算机是如何运行的&#xff1f;CPU 操作系统 进程管理 CPU 多核心 充分利用-> 并发编程&#xff0c;并发执行就算分时复用&#xff0c; 包括多进程编程。 多进程编程进程太重&#xff0c;创建进程&#xff0c;销毁进程开销比较大 &#xff0c;不利于频繁创建销毁进程&…...

《AI视频类工具之十二——​ EbSynth》

一.简介 官网:https://ebsynth.com/?ref=ai-bot.cn EbSynth是一款功能强大的视频风格转换工具,它利用先进的图像处理和计算机视觉技术,将静态艺术风格应用到视频中的每一帧,为视频创作者提供了全新的创作方式。 二.功能介绍 主要功能 视频转换:EbSynth 可以将视频转换…...

Facebook国内企业户、海外户、国内二不限户以及三不限户区别何在?

Facebook广告账户的类型和设置对于企业在不同市场中的广告活动至关重要。了解国内企业户、海外企业户&#xff0c;以及国内二不限户和三不限户的区别&#xff0c;可以帮助你更好地选择和管理广告账户。以下是对这些账户类型的详细解析。 一、Facebook海外企业广告账户 海外企业…...

修改 ASP.NET Core 应用程序运行后的默认端口

可以通过以下几种方法来实现。具体选择哪种方法取决于项目需求和环境设置。 方法 1&#xff1a;使用 appsettings.json 配置文件 你可以在 appsettings.json 中设置 Kestrel 的配置来更改默认端口。 打开 appsettings.json 文件&#xff0c;添加 Kestrel 配置&#xff1a; { …...

维基知识库系统Wiki.js本地Linux环境部署并配置公网地址远程访问

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

010集——按值传递、按引用传递等方法——C#学习笔记

按值传递参数 这是参数传递的默认方式。在这种方式下&#xff0c;当调用一个方法时&#xff0c;会为每个值参数创建一个新的存储位置。 实际参数的值会复制给形参&#xff0c;实参和形参使用的是两个不同内存中的值。所以&#xff0c;当形参的值发生改变时&#xff0c;不会影…...

Linux系统调优技巧

Linux系统调优技巧 Linux 性能调优技巧的深度分析及场景案例目录 1. Linux 性能调优的基础概念1.1 性能调优的目标1.2 常见的性能瓶颈 2. 系统监控与性能分析工具2.1 常用工具介绍2.2 实战案例&#xff1a;如何通过工具定位性能问题 3. CPU 性能调优3.1 CPU 负载分析3.2 CPU 调…...

计算机学习

不要只盯着计算机语言学习&#xff0c;你现在已经学习了C语言和Java&#xff0c;暑假又规划学习Python&#xff0c;最后你掌握的就是计算机语言包而已。 2. 建议你找一门想要深挖的语言&#xff0c;沿着这个方向继续往后学习知识就行。计算机语言是学不完的&#xff0c;而未来就…...

数字医学影像系统PACS源码,三甲以下医院都能满足,C#语言开发,C/S架构系统成熟稳定,支持二次开发项目使用。

数字医学影像系统&#xff08;RIS/PACS&#xff09;源码&#xff0c;三甲以下的医院都能满足。开发技术&#xff1a;C/S架构&#xff0c;C#开发语言&#xff0c;数据库服务器采用Oracle数据库。 PACS系统模块组成 &#xff1a; 工作站&#xff1a; 分诊工作站、超声工作站、放…...

C++语言基础|循环结构

C语言基础|循环结构 循环1. for语句2. while循环3. do…while语句 循环 在程序中&#xff0c;常常需要重复地执行某些操作。C提供了3种循环语句&#xff1a;for语句、while语句和do-while语句。在循环语句中&#xff0c;重复执行的操作叫做循环体。循环体可以是单条语句、块语…...

【学习笔记】解决在声音输出中找不到蓝牙耳机设备的问题

【学习笔记】在声音输出中找不到蓝牙耳机设备 在使用蓝牙耳机的时候&#xff0c;遇见一个问题&#xff0c;就是在电脑在连接蓝牙耳机之后&#xff0c;在声音输出中找不到蓝牙耳机设备&#xff0c;只能使用扬声器播放声音。电脑使用的是Windows 11系统。后来在网上寻找解决方案…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

【JVM】- 内存结构

引言 JVM&#xff1a;Java Virtual Machine 定义&#xff1a;Java虚拟机&#xff0c;Java二进制字节码的运行环境好处&#xff1a; 一次编写&#xff0c;到处运行自动内存管理&#xff0c;垃圾回收的功能数组下标越界检查&#xff08;会抛异常&#xff0c;不会覆盖到其他代码…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

【网络安全】开源系统getshell漏洞挖掘

审计过程&#xff1a; 在入口文件admin/index.php中&#xff1a; 用户可以通过m,c,a等参数控制加载的文件和方法&#xff0c;在app/system/entrance.php中存在重点代码&#xff1a; 当M_TYPE system并且M_MODULE include时&#xff0c;会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...