Vue系列(四)之 Vue路由介绍和Node.js的环境搭建

news2025/3/1 14:17:12

目录

一. Vue路由

1.1 Vue路由是什么

1.2 SPA是什么

1.3 Vue路由的使用步骤

二. Node.js环境搭建

2.1 Node.js是什么

2.2 npm是什么

2.3 Node.js环境搭建

1. 下载Node.js

2. 解压

3. 配置环境变量

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

5. 修改npm镜像提高下载速度

6. 验证安装结果

 三. 运行Node.js项目

3.1 找到项目的根目录,输入cmd回车

3.2 进入cmd窗口后输入npm i然后等待加载完成

3.3 加载完成后,会生成一个node_modules文件

3.4 接着在cmd窗口输入npm run dev启动项目


一. Vue路由

1.1 Vue路由是什么

Vue路由是Vue.js框架中的一个插件,用于实现单页面应用(SPA)的路由功能。它允许你在Vue应用中定义不同的路由,并根据URL的变化加载不同的组件,从而实现页面之间的切换和导航。Vue路由使用了浏览器的History API或Hash模式来管理URL,并提供了一些API和组件来简化路由的配置和使用。通过Vue路由,你可以创建嵌套的路由结构、定义动态路由参数、实现路由的懒加载等功能,以便更好地组织和管理你的Vue应用的页面。

1.2 SPA是什么

SPA 是单页应用(Single Page Application)的缩写。它是一种 Web 应用程序的架构模式,其中整个应用程序在加载时只加载一次,之后的页面切换和内容更新通过动态加载数据和更新页面的方式实现,而不是通过传统的多个页面的方式。

在传统的多页应用中,每次用户在应用程序中导航到不同的页面时,都会向服务器发送请求并加载新的页面。而在 SPA 中,应用程序在初始加载时会下载所有必要的代码、资源和数据,并在用户与应用程序交互时,通过 JavaScript 动态地更新页面内容,而不需要重新加载整个页面。

SPA 的优点包括:

  1. 更快的用户体验:由于只需要加载一次应用程序,之后的页面切换和内容更新都是在客户端进行,因此用户可以更快地浏览和交互。

  2. 减少服务器负载:由于只有初始加载时需要从服务器获取应用程序的代码和资源,之后的页面切换和内容更新都是在客户端进行,减少了对服务器的请求和负载。

  3. 更接近原生应用的体验:SPA 可以使用前端框架(如 Vue、React、Angular 等)来构建,使得应用程序更接近原生应用的交互和用户体验。

  4. 更容易实现前后端分离:SPA 的架构模式使得前端和后端可以更容易地分离开发,前端负责页面的展示和交互,后端负责提供 API 接口和数据。

然而,SPA 也有一些缺点,例如对搜索引擎优化(SEO)的挑战、初始加载时间较长等。因此,在选择使用 SPA 架构时,需要权衡其优点和缺点,并根据具体的应用场景进行决策。

1.3 Vue路由的使用步骤

  1. 导入路由所需的js依赖
  2. 定义组件
  3. 定义组件与路径的对应关系
  4. 通过路由关系获取路由对象
  5. 将路由对象挂载到vue实例中
  6. 定义触发路由事件的按钮,使用 <router-link> 元素生成链接
  7. 定义锚点(路由内容),使用 <router-view> 元素显示对应的组件内容
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<!-- 1.导入路由所需的js依赖 -->
		<script src="https://cdn.bootcdn.net/ajax/libs/vue-router/2.6.0/vue-router.js"></script>
		<title>路由</title>
	</head>
	<body>
		<div id="app">
			<!-- 6.触发路由事件的按钮 -->
			<router-link to="/home">首页</router-link>
			<router-link to="/about">关于本站</router-link>
			
			<!-- 7.定义锚点(路由内容) -->
			<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.通过路由关系获取路由对象
			var router = new VueRouter({routes});
			
			// 5.将路由对象挂载到vue实例中
			new Vue({
				el:'#app',
				router,
				data(){
					return{
						
					}
				}
			})
		</script>
	</body>
</html>

二. Node.js环境搭建

2.1 Node.js是什么

1. Node.js是一个用于构建可扩展的网络应用程序的JavaScript运行环境。它是基于Chrome V8引擎构建的,可以在服务器端运行JavaScript代码。Node.js使用了一个事件驱动、非阻塞式I/O 的模型。

2. Node.js是一个让JavaScript运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。

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

在Vue.js中,Node.js通常用于以下几个方面:

  1. 构建和运行开发服务器:在开发Vue.js应用时,可以使用Node.js来搭建一个本地开发服务器,以便在开发过程中实时预览和调试应用。

  2. 执行构建和打包任务:Vue.js应用通常需要进行构建和打包,以生成最终的生产版本。Node.js提供了一些工具和模块,如Webpack和Parcel,可以帮助我们自动化执行这些任务。

  3. 编写服务器端代码:有时候,Vue.js应用需要与服务器进行交互,例如通过API获取数据或进行身份验证。在这种情况下,可以使用Node.js编写服务器端代码,处理请求并与数据库或其他服务进行通信。

总之,Node.js在Vue.js中扮演着重要的角色,它为开发者提供了强大的工具和环境,使得构建和部署Vue.js应用变得更加便捷和高效。

2.2 npm是什么

npm(Node Package Manager)是Node.js的包管理器,用于安装、管理和发布Node.js模块。它是Node.js生态系统中的重要组成部分,为开发者提供了一个方便的方式来共享和使用JavaScript代码。

通过npm,你可以轻松地安装和管理各种Node.js模块。这些模块可以是其他开发者编写的,也可以是你自己编写的。npm提供了一个庞大的模块仓库,称为npm注册表(npm registry),其中包含了数以万计的开源模块。你可以通过简单的命令来安装这些模块,并在你的项目中使用它们。

除了安装模块,npm还提供了其他功能,例如:

  1. 版本管理:npm允许你指定模块的特定版本或范围,以便控制模块的更新和兼容性。

  2. 依赖管理:当你安装一个模块时,npm会自动解析和安装该模块所依赖的其他模块,以确保项目的依赖关系正确。

  3. 脚本执行:npm允许你在项目中定义和执行自定义脚本,以简化开发和构建过程。

  4. 模块发布:如果你编写了一个可重用的模块,你可以使用npm将其发布到npm注册表,供其他开发者使用。

总之,npm是一个强大而灵活的工具,使得Node.js开发者能够更加高效地管理和使用模块,加速开发过程,并促进了Node.js生态系统的发展。

2.3 Node.js环境搭建

要搭建Node.js环境,你可以按照以下步骤进行操作:

1. 下载Node.js

首先,你需要从Node.js官方网站(https://nodejs.org/zh-cn/download/)下载适合你操作系统的.Node.js安装包。这里我使用的是node-v10.15.3-win-x64.zip 

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

2. 解压

将文件解压到指定位置(例如:D:\software),并在解压后的目录下建立node_global和node_cache这两个目录

新建目录说明:
           node_global:npm全局安装位置
           node_cache:npm缓存路径

3. 配置环境变量

 新增NODE_HOME,值为:你的文件解压位置

 修改PATH并在最后添加:;%NODE_HOME%;%NODE_HOME%\node_global; 

验证安装是否成功:打开cmd窗口,输出如下命令会输出NodeJs和npm的版本号
           node -v
           npm -v

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

打开cmd,分开执行如下命令:
      npm config set cache "D:\software\Nodejs\node-v10.15.3-win-x64\node_cache"
      npm config set prefix "D:\software\Nodejs\node-v10.15.3-win-x64\node_global"

这两个命令执行完成后,会在c盘的用户文件夹下私用的文件夹中生成一个.npmrc文件。


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

5. 修改npm镜像提高下载速度

(可以使用 cnpm 或 直接设置 --registry ,推荐设置 --registry)

 --registry
          ## 设置淘宝源
          npm config set registry https://registry.npm.taobao.org/
          ## 查看源,可以看到设置过的所有的源
          npm config get registry

注1:其实此步骤的内容就是将以下代码添加到C:\Users\用户名\.npmrc文件中
               registry=https://registry.npm.taobao.org

6. 验证安装结果

6.1 版本验证
          node -v
          npm -v
6.2 查看淘宝镜像设置情况
          npm get registry

6.3 查看npm全局路径设置情况
 此步骤随便全局安装一个模块就可以测评
          npm install webpack -g

以上命令执行完毕后,会生成如下文件
          %node_home%\node_global\node_modules\webpack


        

 注意:下载过程中出现warn不用管,出现Error,删掉下载的破碎文件重新下载

 三. 运行Node.js项目

3.1 找到项目的根目录,输入cmd回车

3.2 进入cmd窗口后输入npm i然后等待加载完成

3.3 加载完成后,会生成一个node_modules文件

3.4 接着在cmd窗口输入npm run dev启动项目

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

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

相关文章

蓝桥杯每日一题2023.9.12

3491. 完全平方数 - AcWing题库 题目描述 分析 完全平方数的一个特点&#xff1a; 所有的质因子的个数为偶数。eg1.9的质因子为3&#xff0c;3的个数为2&#xff0c;得到了9&#xff08;3*39&#xff09; eg2.81的质因子为3&#xff0c;3的个数为4&#xff0c;得到81&#…

安卓逆向 - EdXposed LSPosed VirtualXposed

一、引言 接上篇&#xff1a;安卓逆向 - Xposed入门教程_小馒头yy的博客-CSDN博客 我们介绍了Xposed入门安装使用&#xff0c;但是只支持到Android 8&#xff0c;并且安装模块需要重启。今天我们来看看Xposed的其他版本。 二、各种Xposed框架对比 1、Xposed 只支持到安卓8&…

python+django美食菜谱分享网站系统平台

开发语言&#xff1a;Python 框架&#xff1a;django/flask Python版本&#xff1a;python3.7.7 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat 开发软件&#xff1a;PyCharm .本系统采用了nodejs语言的vue框架&#xff0c;数据采用MySQL数据库进行存储。结合B/S结…

【数据结构】哈希表(详)

文章目录 前言正文一、基本概念二、基本原理1.哈希函数1.1直接定址法&#xff08;常用&#xff09;1.2除留余数法&#xff08;常用&#xff09;1.3 平方取中法&#xff08;了解&#xff09;1.4 折叠法(了解)1.5 随机数法(了解)1.6数学分析法(了解) 2.哈希冲突2.1 平均查找长度2…

第八天:gec6818arm开发板和Ubuntu中安装并且编译移植mysql驱动连接QT执行程序

一、Ubuntu18.04中安装并且编译移植mysql驱动程序连接qt执行程序 1 、安装Mysql sudo apt-get install mysql-serverapt-get isntall mysql-clientsudo apt-get install libmysqlclient-d2、查看是否安装成功&#xff0c;即查看MySQL版本 mysql --version 3、MySQL启动…

中秋节听夜曲,Android OpenGL 呈现周董专属的玉兔主题音乐播放器

概述 前几天发现QQ音乐有个好玩的功能&#xff0c;为用户提供了多种 播放器主题&#xff0c;其中 原神 的主题让我眼前一亮&#xff1a; 当然&#xff0c;诸如 换肤、主题 类的功能已经屡见不鲜&#xff0c;但这类沉浸式播放器的听歌体验确实不错。 见猎心喜&#xff0c;正好…

FPGA千兆网 UDP 网络视频传输,基于88E1518 PHY实现,提供工程和QT上位机源码加技术支持

目录 1、前言版本更新说明免责声明 2、我这里已有的以太网方案3、设计思路框架视频源选择OV5640摄像头配置及采集动态彩条UDP协议栈UDP视频数据组包UDP协议栈数据发送UDP协议栈数据缓冲IP地址、端口号的修改Tri Mode Ethernet MAC介绍以及移植注意事项88E1518 PHYQT上位机和源码…

人工智能AI 全栈体系(五)

第一章 神经网络是如何实现的 为什么使用 ReLu 函数&#xff1f; 五、梯度消失问题 1. 什么是梯度消失问题&#xff1f; 前面我们介绍的 BP 算法中&#xff0c;是这样更新权重值的&#xff1a; δ ∗ h o h ( 1 − o h ) ∑ ∗ k ∈ 后续 ( h ) δ ∗ k w ∗ k h \delta*h …

基于Python+Flask实现一个简易网页验证码登录系统案例

在当今的互联网世界中&#xff0c;为了防止恶意访问&#xff0c;许多网站在登录和注册表单中都采用了验证码技术。验证码可以防止机器人自动提交表单&#xff0c;确保提交行为背后有一个真实的人类用户。 本文将向您展示如何使用Python的Flask框架来创建一个简单的验证码登录系…

在线教育线上课堂知识付费源码 网络课堂在线课堂系统源码 含完整代码包和搭建教程

随着互联网技术的不断发展&#xff0c;在线教育逐渐成为了人们获取知识和技能的重要途径。线上课堂作为在线教育的一种具体实现方式&#xff0c;为广大学生提供了便捷、高效的学习平台。 分享一个在线教育线上课堂知识付费源码、网络课堂在线课堂系统源码&#xff0c;含完整搭…

数据分析的-五种常用方法实例

一、对照 俗称对比&#xff0c;单独看一个数据是不会有感觉的&#xff0c;必需跟另一个数据做对比才会有感觉。比如下面的图a和图b。 图a毫无感觉 图b经过跟昨天的成交量对比&#xff0c;就会发现&#xff0c;今天跟昨天实则差了一大截。 这是最基本的思路&#xff0c;也是最重…

数字图像处理中的击中与击不中运算(数字图像处理大题复习 P10)

文章目录 模板元 B 解析尝试覆盖得到结果 击中与击不中 可以看作就是 进阶版的腐蚀 模板元 B 解析 1 就是要求是 1 0 就是要求是 0 x 就是不管&#xff0c;随便是什么 尝试覆盖 如果我们选择一个地方覆盖&#xff0c;他符合这个模板即可 得到结果 这样我们就得到了击中与…

润和软件HopeStage与华宇信息TAS应用中间件完成产品兼容性互认证

近日&#xff0c;江苏润和软件股份有限公司&#xff08;以下简称“润和软件”&#xff09;HopeStage 操作系统与北京华宇信息技术有限公司&#xff08;以下简称“华宇信息”&#xff09;TAS应用中间件软件完成产品兼容性测试。 测试结果表明&#xff0c;企业级通用操作系统Hope…

如何批量为文件夹命名

如果你想要命名一些这样名字具有规律性的文件夹&#xff0c;当文件的数量增多&#xff0c;一个一个命名是非常耗费时间的。很容易想到&#xff0c;如果使用EXCEL&#xff0c;只需往下拉&#xff0c;就能很轻松的拉出1到5。那么&#xff0c;我们如何利用EXCEL来对文件夹进行快速…

高压配电安全监测系统:确保电力系统的稳定运行

随着现代社会对电力需求的不断增长&#xff0c;高压配电系统的重要性日益凸显。为了保证电力系统的稳定运行&#xff0c;提高供电质量&#xff0c;采用高压配电安全监测系统至关重要。 力安科技高压配电安全监测系统通过在每面高压柜&#xff08;进线柜、出线柜、联络柜&#x…

K8S-存储卷,pv,pvc

一、emptyDir存储卷 1.概述 当Pod被分配给节点时&#xff0c;首先创建emptyDir卷&#xff0c;并且只要该Pod在该节点上运行&#xff0c;该卷就会存在。正如卷的名字所述&#xff0c;它最初是空的。Pod 中的容器可以读取和写入emptyDir卷中的相同文件&#xff0c;尽管该卷可以…

React useRequest解读

源码结构&#xff1a; 可以看到虽然是一个hooks&#xff08;具有一定功能且具备状态的单一函数&#xff09; 但是各种文件功能分得也是很细的&#xff0c;方便抽离和复用 useRequest.ts 抽离的原则还是单一功能原则 可以看出 真正的hooks实现是在Implement里 对于类型type的引…

(Clock Domain Crossing)跨时钟域信号的处理 (自我总结)

CummingsSNUG2008Boston_CDC.pdf 参考&#xff1a; 跨时钟域处理方法总结–最终详尽版 - love小酒窝 - 博客园 跨时钟域&#xff08;CDC&#xff09;设计方法之单bit信号篇&#xff08;一&#xff09; | 电子创新网赛灵思社区 孤独的单刀_Verilog语法,FPGA设计与调试,FPGA接口与…

关于ABB机器人的IO创建和设置

首先要链接网线&#xff0c;请求写权限 关于ABB机器人的默认地址位10有的是63.31看你硬接线 ABB机器人分配好信号机器人控制柜要重启 可以把机器人分配的信号导出为EIO 类似与发那科机器人IO

支付宝支付对接-附带完整代码!!

支付宝对接 文章目录 支付宝对接1、大纲1.1 整体业务流程图1.2、开发流程图1.3、核心参数1.4、支付宝开放平台1.5、支付应用场景1.6、支付宝入驻 2、环境准备2.1 首先注册自己的支付宝账号2.2 沙箱环境2.3 支持产品列表 3、项目实现3.1、项目代码地址3.2、 代码层级3.3、快速启…