Vue之路由及Node.js环境搭建(一起探索新事物)

news2025/2/23 22:35:41

目录

​编辑

前言

一、Vue之路由

1.路由简介

1.1 什么是路由

1.2 什么是SPA

1.3 SPA的实现思路

1.4 使用路由的优势

2. 案例演示

2.1 导入所需的js文件

2.2 编写案例代码(模拟页面跳转)

二、Vue之node.js

1. node.js简介

1.1 什么是node.js

1.2 node.js的特点

1.3 什么是npm

1.4 npm的作用及重要性

2. node.js的环境搭建

2.1 下载node.js

2.2 解压配置

 2.3 配置node.js的环境变量

2.4 测试node.js配置是否成功

2.5 配置npm全局模块路径和cache默认安装位置

2.6 修改npm镜像提高下载速度(可以使用 cnpm 或 直接设置 --registry ,推荐设置 --registry)

2.7  查看npm全局路径设置情况

3. 测试node.js是否成功安装(运行一个项目)

3.1 找到运行的项目文件

3.2 下载项目所需依赖

​编辑

 3.3 运行项目


前言

        在前面的几次有关Vue知识的博客中我们对Vue的认知及使用都有了一个初步的认知,今天我继续分享有关Vue的相关知识。今天带大家探索一些事物,这期博客有重点,还请老铁们认真仔细观看阅读。

 

一、Vue之路由

1.路由简介

1.1 什么是路由

        在Vue中,路由是一种用于管理单页面应用程序(SPA)导航的机制。它允许我们在不刷新整个页面的情况下,根据 URL 的变化动态加载不同的内容。

        Vue提供了一个名为Vue Router的官方插件,它能够帮助我们实现路由功能。使用Vue Router,我们可以定义多个路由,每个路由对应一个URL路径,并且可以指定对应的组件。

        路由配置通常定义在应用程序的主文件中,我们可以设置不同的路径和对应的组件,以及实现导航的方式,比如前进、后退、重定向等。当用户在浏览器中访问不同的URL时,Vue Router会根据定义的路由规则,将相应的组件渲染到页面中,从而实现页面间的切换和导航。这样,我们可以通过路由来构建一个完整的单页面应用,提供更好的用户体验。

1.2 什么是SPA

        SPA(Single Page Application)指的是单页面应用,它是一种通过动态加载内容来实现网页应用程序的设计模式。传统的多页面应用在用户导航时会进行页面的完整刷新,而SPA则通过使用JavaScript动态更新页面的一部分,避免了整个页面的重新加载。

        在SPA中,初始时只加载一个HTML页面,后续的内容加载通过AJAX或WebSocket等技术实现。当用户进行导航或与应用程序进行交互时,SPA会通过JavaScript重新渲染并更新页面的部分内容,而不会重新加载整个页面。在使用Vue、React、Angular等现代前端框架时,通常会使用SPA的设计模式来构建单页面应用。

1.3 SPA的实现思路

  1. 设计和划分组件:首先,你需要根据应用程序的需求和功能划分出不同的组件,比如导航栏、侧边栏、内容区域等。每个组件只负责特定的功能和展示。

  2. 路由设置:使用合适的前端框架(如Vue Router、React Router等),配置路由表。你可以定义不同的路由路径和对应的组件,稍后根据导航需要进行切换。

  3. 搭建页面结构:创建一个主页面容器,通常是一个单页 HTML 文件。也可以使用框架提供的 HTML 模板。

  4. 组件渲染:在主页面容器中,挂载根组件并设置路由出口。根据当前路由的变化,将会渲染对应的组件到出口区域。

  5. 导航和路由跳转:为用户提供导航界面,例如导航栏、菜单等。当用户点击导航链接时,根据配置的路由表,进行路由跳转到指定的页面组件。

  6. 组件间通信和数据管理:根据应用程序的需求,你可能需要对组件之间的通信进行管理。可以使用状态管理工具(如Vuex、Redux等)或者通过props和事件等方式传递数据。

  7. 异步数据加载:SPA 通常会异步加载数据,可以使用 AJAX、fetch 或者其他库(如 axios)来与后端进行数据交互。

  8. 优化和性能调优:在开发过程中,需要关注性能方面的优化。这包括代码拆分、懒加载、缓存策略、减少网络请求等。

1.4 使用路由的优势

路由的优势
优势说明
前端路由路由可以实现前端的页面导航和内容切换,通过在不刷新整个页面的情况下加载不同的组件,提供了更流畅和快速的用户体验。
深度链接和可分享性使用路由可以实现深度链接,即可以直接通过URL访问到指定的页面或视图,而不需要经过多次点击或操作。这样便于直接访问特定内容,并且方便在不同渠道分享链接。
状态管理和参数传递路由可以用于传递参数和管理应用程序的状态。例如,可以在URL中包含查询参数,传递给目标页面使用;也可以在路由之间共享状态,从而实现数据的持久化或跨组件通信。
组织和模块化使用路由可以将应用程序的不同功能区块划分为多个路由和组件,使代码更加模块化和可维护。这样可以更好地组织和管理代码,在大型应用程序中提高开发效率。
导航守卫和权限控制路由可以提供导航守卫功能,可以在路由切换前进行权限验证或其他逻辑判断,从而实现更精细的权限控制和用户体验。

2. 案例演示

2.1 导入所需的js文件

<script src="https://cdn.bootcdn.net/ajax/libs/vue-router/2.6.0/vue-router.js"></script>

我导入的是网络Vue路由的js文件,需要在又网络的情况下才能生效。

2.2 编写案例代码(模拟页面跳转)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
		<!-- 1.引入路由的js依赖 -->
		<script src="https://cdn.bootcdn.net/ajax/libs/vue-router/2.6.0/vue-router.js"></script>
		<title>Vue-路由</title>
	</head>
	<body>
		<div id="app">
			<!-- 6. 触发路由事件的按钮-->
			<router-link to="/home">首页</router-link>
			<router-link to="/about">关于酒店</router-link>
			<!-- 定义路由内容 -->
			<router-view></router-view>
		</div>

		<script type="text/javascript">
			// 2..定义两个组件
			var Home = Vue.extend({
				template: '<div>君易酒店首页</div>'
			});

			var About = Vue.extend({
				template: '<div>君易酒店简介</div>'
			});
			// 3.定义路径与路由对应关系
			var routes = [{
					component: Home,
					path: '/home'
				},
				{
					component: About,
					path: '/about'
				}
			];
			// 4.将路由关系获取路由对象router
			var router = new VueRouter({
				routes
			});
			// 5.将路由对象挂载到Vue实例中

			new Vue({
				el: '#app',
				router,
				data() {
					return {
						msg: 'ssdd'
					}
				}
			});
		</script>
	</body>
</html>

效果展示

二、Vue之node.js

1. node.js简介

1.1 什么是node.js

        Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,用于在服务器端运行 JavaScript 代码。它允许开发者使用 JavaScript 来编写服务器端应用程序,而不仅限于在浏览器中执行。

        注:

Node.js-->JavaScript运行环境,开发语言是:javascript;J2EE   -->Java运行环境, 开发语言是java

Node.js v10.15.3文档地址:http://nodejs.cn/api/

1.2 node.js的特点

node.js的特点
特点说明
异步非阻塞Node.js 使用事件驱动和非阻塞 I/O 模型,使得它能够处理大量的并发请求,而不会阻塞其他请求的处理。
跨平台Node.js 可以在多个操作系统上运行,包括 Windows、Mac OS 和各种 Linux 发行版。
快速高效借助 Chrome V8 引擎的优势,Node.js 执行 JavaScript 代码的速度很快,能够在很短的时间内处理大量请求。
丰富的模块生态系统Node.js 内置了大量的核心模块,同时也有庞大的开源社区贡献了众多的第三方模块,可以使开发者轻松地构建复杂的应用。

总结:Node.js 可以用于构建各种类型的应用,例如 Web 服务器、实时聊天应用、命令行工具、API 服务等。它的设计思想和生态系统使得开发人员能够轻松地构建高性能和可扩展的应用程序。

1.3 什么是npm

        npm是Node Package Manager的缩写,是一种用于管理和共享JavaScript代码包的工具。它是Node.js的默认软件包管理器,让开发者可以方便地安装、更新、删除和管理项目中使用的各种JavaScript库和工具。 

        使用npm,开发者可以通过命令行界面快速地安装所需的包。npm提供了一个庞大的包生态系统,开发者可以从中选择和使用开源的JavaScript库、框架和工具,以加快开发速度,避免重复造轮子。此外,npm还允许开发者将自己编写的JavaScript代码包发布到npm仓库,供其他开发者使用。这种共享代码包的方式促进了JavaScript社区的合作和协作。

1.4 npm的作用及重要性

npm的作用及重要性
作用说明
依赖管理npm可以帮助开发者管理项目的依赖关系。
资源共享npm提供了一个庞大的包生态系统,通过npm可以轻松地获取和使用各种开源的JavaScript包、库、框架和工具。
版本管理npm允许开发者在项目中使用特定的软件包版本,并能够方便地升级或回滚版本。
包发布与分享开发者可以使用npm将自己编写的JavaScript包发布到npm仓库,供其他开发者使用。

2. node.js的环境搭建

2.1 下载node.js

下载网站:下载 | Node.js

 通常下载.zip文件,将下载好的压缩包放到我们要安装的路径下(最好是全英文路径

注:版本14对于node.js来说是一个分水岭,如果低于14版本的node.js运行项目运行不了就使用高于14的版本。

2.2 解压配置

找到压缩包解压文件

 在解压的目录下创建两个文件夹,一个是 node_global(npm全局安装位置)、 node_cache(npm缓存路径),不要打错字母了。

 2.3 配置node.js的环境变量

        配置node.js的环境变量和配置jdk的环境变量相似,在高级系统设置中下的环境变量里配置。

右击此电脑点击属性,进入到高级系统设置下的环境变量配置中

 

 

新建一个变量,点击新建,变量名输入NODE_HOME;变量值输入你解压后的node.js的路径。

 

 在path变量名中添加%NODE_HOME%;%NODE_HOME%\node_global;到后面

2.4 测试node.js配置是否成功

win+R,进入命令终端,node -v、 npm -v分别查看node.js和npm的版本信息

        注:若是想修改node.js的版本,只需要将新版本的压缩包方置和之前版本的同意目录下解压,将变量中的版本改一下即可,如:10.15--》18.15改个数字即可。

2.5 配置npm全局模块路径和cache默认安装位置

打开cmd窗口,进入终端,输入

npm config set cache "node_cache文件夹路径"(D:\initPath\node-v10.15.3-win-x64\node_cache

npm config set prefix "node_global文件夹路径"(D:\initPath\node-v10.15.3-win-x64\node_global

运行命令之后会在C:\Users\用户名下生成一个.npmvc

注:

  • 将步骤一创建的node_global(npm全局安装位置)和node_cache(npm缓存路径)与npm联系起来
  •     如果执行命令卡死,可以删除C:\Users\用户名\.npmrc 后重新执行。(用户名:为当前电脑的用户名)
  •       "D:\initPath\node-v10.15.3-win-x64\node_global",双引号不能少

2.6 修改npm镜像提高下载速度(可以使用 cnpm 或 直接设置 --registry ,推荐设置 --registry)

在cmd窗口输入npm config set registry https://registry.npm.taobao.org/指令设置淘宝源

通过npm get registry指令查看镜像源

2.7  查看npm全局路径设置情况

在cmd窗口输入npm install webpack -g会生成如下文件

%node_home%\node_global\node_modules\webpack

 在D:\MYsoftware\node-v10.15.3-win-x64\node-v10.15.3-win-x64\node_global会生成webpack文件

3. 测试node.js是否成功安装(运行一个项目)

3.1 找到运行的项目文件

在桌面新建一个文件夹命名为英文,将项目压缩包放入,解压即可。

3.2 下载项目所需依赖

进入到项目的跟目录,在路径上输入cmd进入终端界面。输入npm i即可

 3.3 运行项目

输入指令 npm run dev启动项目

 这样就说明node.js安装成功

        本期的博客分享到这希望能给各位老铁带来帮助和收获,给博主三连加关注支持一下,

 

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

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

相关文章

玫瑰代码||逐字打印字体||中秋快乐

关注微信公众号「ClassmateJie」 更多惊喜等待你的发掘 直接看实现效果 电脑端 手机端 使用场景 发给女神告白~ 提供一些文案 “自从遇见你&#xff0c;我的世界变得不一样了。每一天都因为你而变得特别。我想告诉你&#xff0c;我喜欢你&#xff0c;不仅仅是因为你的美丽&am…

使用 PyTorch 的计算机视觉简介 (2/6)

一、说明 在本单元中&#xff0c;我们从最简单的图像分类方法开始——一个全连接的神经网络&#xff0c;也称为感知器。我们将回顾一下 PyTorch 中定义神经网络的方式&#xff0c;以及训练算法的工作原理。 二、数据加载的实践 首先&#xff0c;我们使用 pytorchcv 助手来加载…

民安智库(第三方市场调查公司)开展景区游客满意度调查

为什么要开展景区游客满意度调查 景区的经营管理是一个动态的过程&#xff0c;需要不定期的地进行调查&#xff0c;让管理者了解景区管理的不足之处&#xff0c;并不断地改善和提高管理水平&#xff0c;以保证经营目标的顺利完成。 景区旅游要想真正地成为可持续发展的经济产…

人类的生成式与机器的生成式

生成式是指一种基于模型的方法&#xff0c;通过给定的条件或输入&#xff0c;生成与之相符合的输出。在自然语言处理领域中&#xff0c;生成式模型通常用于生成文本、文章、对话等自然语言序列。 生成式模型的训练主要涉及两个步骤&#xff1a;学习和生成。在学习阶段&#xff…

【每日一题】2603. 收集树中金币

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;拓扑排序 写在最后 Tag 【拓扑排序】【树】 题目来源 2603. 收集树中金币 题目解读 有一个有 n 个节点的无相无根图&#xff0c;节点编号从 0 到 n-1。有一个表示图中节点间连接关系的数组 edges&#xff0c;长度为 …

目前最流行的无人机摄影测量软件有哪些?各有什么特点?

文章目录 1. Pix4Dmapper2. PhotoScan3. ContextCapture4. 天工GodWork5. Trimble Inpho6. IMAGINE Photogrammetry7. 大疆智图 推荐阅读&#xff1a;《无人机航空摄影测量精品教程》 包括&#xff1a;无人机航测外业作业流程&#xff08;像控点布设、航线规划、仿地飞行、航拍…

滚雪球学Java(30):多维数组:定义和初始化一次搞定

&#x1f3c6;本文收录于「滚雪球学Java」专栏&#xff0c;专业攻坚指数级提升&#xff0c;助你一臂之力&#xff0c;带你早日登顶&#x1f680;&#xff0c;欢迎大家关注&&收藏&#xff01;持续更新中&#xff0c;up&#xff01;up&#xff01;up&#xff01;&#xf…

高精度PWM脉宽调制信号转模拟信号隔离变送器1Hz~10KHz转0-5V/0-10V/1-5V/0-10mA/0-20mA/4-20mA

主要特性: >>精度等级&#xff1a;0.1级。产品出厂前已检验校正&#xff0c;用户可以直接使用 >>辅助电源&#xff1a;8-32V 宽范围供电 >>PWM脉宽调制信号输入: 1Hz~10KHz >>输出标准信号&#xff1a;0-5V/0-10V/1-5V,0-10mA/0-20mA/4-20mA等&…

spring boot 八、 sharding-jdbc 分库分表 按月分表

在项目resources目录下新建com.jianmu.config.sharding.DateShardingAlgorithm 文件 新增yaml配置 数据源 spring:shardingsphere:props:sql:#是否在日志中打印 SQLshow: true#打印简单风格的 SQLsimple: truedatasource:names: pingxuanlogpingxuanlog:type: com.alibaba.dru…

【20230921】关于sing-box命令行程序开机自启动运行(Windows、Linux)

1 背景 sing-box是一个命令行程序&#xff0c;官网给出的教程是复制链接到Git Bash&#xff08;windows&#xff09;或终端运行&#xff08;Linux&#xff09;。每次开机都进行复制运行是一件繁琐的事情。 复制的内容其实就是下次并运行shell脚本&#xff0c;其实系统只需要运…

在线旅游平台步入新时代,携程如何走出自己的路?

今年旅游从线下到线上全方位火了。有统计数据&#xff0c;一季度&#xff0c;光是抖音&#xff0c;旅游达人发布视频数量就高达175万条&#xff0c;播放量1350亿次&#xff0c;收获27亿次点赞。在这一趋势下&#xff0c;许多“不出名”的景区和酒店借势抖音达人完成“出圈”。短…

openGauss天津用户组招募正式启动,欢迎报名

openGauss天津用户组招募正式启动&#xff0c;欢迎报名&#xff01; openGauss用户组(openGauss User Group&#xff0c;简称oGUG)是一个让openGauss用户就技术特性、最佳实践、运营进展等方向交流的开放性本地社区。oGUG致力于构建一个开放、多元、包容的 openGauss城市用户交…

maven找不到jar包

配置settings.xml文件之后出现报错找不到jar包 先改maven设置: 然后在重新清理构建项目: 可以通过执行以下命令清理本地 Maven 仓库 mvn dependency:purge-local-repository

Java中运用BigDecimal对字符串的数值进行加减乘除等操作

系列文章目录 SpringBootVue3实现登录验证码功能 Java实现发送邮件&#xff08;定时自动发送邮件&#xff09; 换个角度使用Redis去解决跨域存取Session问题 Redis缓存穿透、击穿、雪崩问题及解决方法 Spring Cache的使用–快速上手篇 List&#xff1c;HashMap&#xff1c;Str…

rv1126-rv1109-驱动方法

1.简单写一下, 在根目录下修改指定编译 指定uboot 指定kernel的config 指定DTS

防静电离子风扇的应用及优点

防静电静电离子风扇是一种用于消除静电的设备&#xff0c;它可以通过离子化原理将静电荷离子化&#xff0c;从而达到静电的效果。防静电静电离子风扇通常采用离子风扇的形式&#xff0c;通过离子化原理将静电荷离子化&#xff0c;从而消除静电。 防静电静电离子风扇的工作原理…

Redis 持久化之 RDB 与 AOF 详解

Redis 持久化 我们知道Redis的数据是全部存储在内存中的&#xff0c;如果机器突然GG&#xff0c;那么数据就会全部丢失&#xff0c;因此需要有持久化机制来保证数据不会因为宕机而丢失。Redis 为我们提供了两种持久化方案&#xff0c;一种是基于快照&#xff0c;另外一种是基于…

数据结构与算法:排序算法(1)

目录 冒泡排序 思想 代码实现 优化 鸡尾酒排序 优缺点 适用场景 快速排序 介绍 流程 基准元素选择 元素交换 1.双边循环法 使用流程 代码实现 2.单边循环法 使用流程 代码实现 3.非递归实现 排序在生活中无处不在&#xff0c;看似简单&#xff0c;背后却隐藏…

vue 多环境文件配置(开发,测试,生产)

1.经常我们在开发时候会有不同环境&#xff0c;要代理的路由等等都会出现不同 配置一下三个文件打包的时候&#xff0c;执行三个不同的指令就会打包不同的环境 npm run build:dev npm run build:test npm run build:prodpackage.json 中配置scripts 指令 以,env.development…

Qt DoubleSlider双滑块支持float变化的控件,以及单滑块float控件

Qt DoubleSlider 双滑块支持float变化的控件&#xff0c;以及单滑块float控件 - 一杯清酒邀明月 - 博客园 (cnblogs.com)https://www.cnblogs.com/ybqjymy/p/13813001.html参考别人的分享&#xff0c;双滑块 看一下效果&#xff1a;