Vue.js路由及Node.js的入门使用---超详细

news2025/1/9 2:25:52

一,Vue路由

1.1 路由是什么

    路由是用来管理应用程序中不同页面之间导航的概念。Vue Router是Vue.js官方提供的路由管理器,它允许我们通过定义路由规则和视图组件来配置路由

1.2 路由给我们带来的好处有哪些?

单页应用(Single Page Application):

        路由使得我们能够在单个页面中展示多个视图,而不必每次都刷新整个页面。这提升了用户体验,并减少了服务器的负载。

前端路由导航:

         通过路由,我们可以定义应用程序中不同页面之间的跳转关系。这样,用户在浏览应用时可以通过导航链接或者程序matic的方式切换页面,实现页面的无刷新切换。

嵌套路由:

          Vue Router支持嵌套路由,也就是在一个页面中嵌套另一个页面。这样,我们能够构建更复杂的应用程序,将页面拆分成多个组件,提高代码的可维护性和复用性。

参数传递和动态路由:

         通过路由参数,我们可以在页面之间传递数据。Vue Router支持动态路由,可以根据不同参数匹配到对应的路由规则,从而展示不同的页面内容。

导航守卫:

           Vue Router提供了导航守卫机制,允许我们在路由切换前后执行自定义逻辑,例如验证用户是否登录,判断用户权限等

二,路由实现单页应用(7步)

① 导入相关的vue依赖

<!--1 导入依赖-->
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/vue-router/3.5.2/vue-router.min.js"></script>

② 定义组件

	//2.定义两个组件
		var One = Vue.extend({
		template: '<div>我是大哥</div>'
			});
	    var Tow = Vue.extend({
		template: '<div>我是小弟</div>'
			});

③ 定义组件与路由的路径对应关系

	//3.定义组件与路由路径对应关系
			var routes=[{
				component: One,
				path: '/one'
			},{
				component: Tow,
				path: '/tow'
			}
			];

④ 通过路由关系获取router

	// 4.通过路由关系获取router
       var router=new VueRouter({routes});

⑤ 将路由挂载到Vue实例中

	//5 将路由挂载到Vue实例中-- >
			new Vue({
				el: "#Bing",
				data() {
					return {

					};
				},
				  router: router
			})

⑥ 触发路由事件的按钮

       <!--6 触发路由事件的按钮-->
       <router-link to='/one'>首页</router-link>
       <router-link to='/tow'>关于</router-link>

⑦ 定义锚点

	   <!--定义锚点-->
	   <router-view></router-view>

html全部代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<!--导入相对应的工具-->
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
		<!--1 导入依赖-->
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
	   <script src="https://cdn.bootcdn.net/ajax/libs/vue-router/3.5.2/vue-router.min.js"></script>

	</head>
	<body>
		<!--定义vue管理的边界,有且只有一个根节点--->
		<div id="Bing">
			<!-- {{msg}} -->
		<!--6 触发路由事件的按钮-->
      <router-link to='/one'>首页</router-link>
       <router-link to='/tow'>关于</router-link>
	   
	   <!--定义锚点-->
	   <router-view></router-view>
		</div>
		<script>
			//2.定义两个组件
			var One = Vue.extend({
				template: '<div>我是大哥</div>'
			});
			var Tow = Vue.extend({
				template: '<div>我是小弟</div>'
			});
			//3.定义组件与路径对应关系
			var routes=[{
				component: One,
				path: '/one'
			},{
				component: Tow,
				path: '/tow'
			}
			];
			// 4.通过路由关系获取router
       var router=new VueRouter({routes});



			
			//5 将路由挂载到Vue实例中-- >
			new Vue({
				el: "#Bing",
				data() {
					return {

					};
				},
				  router: router
			})
		</script>


	</body>

效果图:

三,Node.js坏境搭建

3.1 何为node.js

Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,用于在服务器端运行JavaScript代码。它允许开发者使用JavaScript语言来构建高性能、可扩展的网络应用程序

Node.js具有丰富的内置模块和第三方模块生态系统,可以轻松地构建Web服务器、RESTful API、实时通信应用、代理服务器等。同时,由于Node.js使用JavaScript作为开发语言,使得前端和后端开发可以共享代码,提高了开发效率

总而言之,Node.js是一个开源的、跨平台的JavaScript运行时环境,专注于构建高性能、可扩展的网络应用程序

3.2 何为npm

npm(Node Package Manager)是Node.js的包管理器,用于下载、安装和管理JavaScript模块。它是一个命令行工具,与Node.js一同安装在计算机上。

通过npm,开发者可以轻松地查找、安装和更新数以万计的开源JavaScript包。这些包可以包含各种功能和功能模块,例如Web框架、数据库驱动程序、工具库等。使用这些包,开发者可以快速构建复杂的应用程序,节省大量的开发时间和精力

npm提供了一套强大的命令行工具,使得开发者可以方便地进行包的搜索、安装、更新和删除等操作。它还允许开发者管理项目依赖关系,通过一个名为"package.json"的文件来定义和记录项目所需的所有依赖项。

除了提供包管理功能,npm还有其他一些功能,例如发布自己编写的JavaScript模块、管理私有包、执行脚本等。npm已经成为JavaScript开发社区中最受欢迎和广泛使用的包管理工具之一,为开发者提供了丰富的生态系统和便捷的开发体验

四,Node.js坏境配置

1 下载和安装Node.js

①Node.js下载地址 ---》点击下载Node.js

②根据你的操作系统选择合适的Node.js版本进行下载,推荐选择最新的LTS(长期支持)版本

二 解压

下载完毕之后解压 在解压文件夹根目录添加两个文件夹

① node_global   全局安装路径

② node_modules  npm缓存路径

三 配置坏境变量

3.1  新增NODE_HOME,值为:node.js的安装根目录

  3.2 修改PATH并在最后添加:%NODE_HOME%

                                                 %NODE_HOME%\node_global

注1:测试安装是否成功:打开cmd窗口,输出如下命令会输出NodeJs和npm的版本号

         测试不出来去node.js根目录中启动cmd窗口使用以下命令再试试

           node -v

           npm -v

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

在cmd窗口执行配置npm全局模块路径和cache默认安装位置,下面第一第二路径后面的路径根据自己的路径进行修改,第三行是淘宝源可直接copy运行即可

npm config set cache "D:\tools\node.js\node-v10.15.3-win-x64\node-v10.15.3-win-x64\node_cache"
 
npm config set prefix "D:\tools\nodejs\node-v10.15.3-win-x64\node-v10.15.3-win-x64\node_global"

3.4 修改npm镜像提高下载速度

在终端中运行以下命令配置淘宝源

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

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

全部执行完之后,那么便可以在c盘的User下面看到一个文件,下图

查看npm全局路径设置情况

//此步骤随便全局安装一个模块就可以测评
 
          npm install webpack -g
 
//以上命令执行完毕后,会生成如下文件
 
          %node_home%\node_global\node_modules\webpack
 
  注意:下载过程中出现warn不用管,出现Error,删掉下载的破碎文件重新下载

在终端中运行以下命令来安装项目所需的依赖模块,例如Express框架:

npm install webpack -g

以上命令执行完毕后,会生成如下文件:

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

 

3.5 运行下载的Node.js项目

 准备一个没有下载js的项目, 然后进到该项目的根目录doc界面,输入 npm i 指令,下载依赖

下载完毕之后,输入npm run dev启动项目

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

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

相关文章

Springboot整合jdbc和Mybatis

目录 整合jdbc 1. 新建项目 2. 编写yaml配置文件连接数据库 3. 测试类 使用原生的jdbcTemplate进行访问测试 使用Druid连接池 1. 添加类型 2. 初始化连接池 3. 编写config类 配置Druid数据源监视 整合Mybatis 1. 导入依赖 2. 编写mapper接口 3. 编写实体类 4. 编…

GLTF编辑器的另一个作用

1、GLB模型介绍 GLB&#xff08;GLTF Binary&#xff09;是一种用于表示三维模型和场景的文件格式。GLTF是"GL Transmission Format"的缩写&#xff0c;是一种开放的、跨平台的标准&#xff0c;旨在在各种3D图形应用程序和引擎之间进行交换和共享。 GLB文件是GLTF文件…

MySQL数据库详解 二:数据库的高级语句(高级查询语句)

文章目录 1. 克隆表 ---- 将数据表的数据记录生成到新的表中1.1 方式一&#xff1a;先创建新表&#xff0c;再导入数据1.2 方式二&#xff1a;创建的时候同时导入 2. 清空表 ---- 删除表内的所有数据2.1 delete删除2.2 truncate删除&#xff08;重新记录&#xff09;2.3 创建临…

别着急,解决不了的问题,就请交给时间吧

转眼间我走出社会已过去四年之久&#xff0c;但很多事依旧历历在目&#xff0c;就好像昨天发生的一样。 我小时候&#xff0c;因为一场医学事故患有先天性白内障&#xff0c;真的是连黑板的看不清&#xff0c;当时自己也不太懂事&#xff0c;上课对我来说就是画画以及一切能够消…

保姆级 Keras 实现 Faster R-CNN 十三 (训练)

保姆级 Keras 实现 Faster R-CNN 十三 训练 一. 将 Faster R-CNN 包装成一个类二. 修改模型结构1. 修改 input_reader 函数2. 增加 RoiLabelLayer 层 三. 损失函数1. 自定义损失函数2. 自定义精度评价函数 四. 模型编译五. 模型训练六. 预训练模型七. 保存模型与参数八. 代码下…

更新、修改

MySQL从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129334507?spm1001.2014.3001.5502 语法: update 表名 列名该列新值, 列名该列新值, ... where 记录匹配条件; 说明&#xff1a;update 更新、修改 set 设置 …

通讯网关软件011——利用CommGate X2ODBC实现DDE数据转入ODBC

本文介绍利用CommGate X2ODBC实将DDE数据源中的数据转入到ODBC数据源。CommGate X2ODBC是宁波科安网信开发的网关软件&#xff0c;软件可以登录到网信智汇(http://wangxinzhihui.com)下载。 【案例】如下图所示&#xff0c;将DDE数据源&#xff08;如Excel&#xff09;的数据写…

【软件设计师-从小白到大牛】下午题基础篇:第一章 数据流图(DFD)

文章目录 前言章节提要一、数据流图基本概念二、数据流图的分层&#xff08;DFD&#xff09;三、数据字典四、数据流图平衡原则五、答题技巧问题一问题二问题三问题四 六、案例分析1、案例12、案例2 前言 ​ 本系列文章为观看b站视频以及b站up主zst_2001系列视频所做的笔记&…

DAZ To UMA⭐一.DAZ简单使用教程

文章目录 &#x1f7e5; DAZ快捷键&#x1f7e7; DAZ界面介绍 &#x1f7e5; DAZ快捷键 移动物体:ctrlalt鼠标左键 旋转物体:ctrlalt鼠标右键 导入模型:双击左侧模型UI &#x1f7e7; DAZ界面介绍 Files:显示全部文件 Products:显示全部产品 Figures:安装的全部人物 Wardrobe…

Floyd算法基础

弗洛伊德算法(Floyd) 之前介绍了迪杰斯特拉算法(Dijkstra)。具体请看&#xff1a;最短路径算法——简单明了的迪杰斯特拉算法(Dijkstra)。Dijkstra适用于非负权图&#xff0c;并且一次只能从网络中找源点到任何一个节点的最短路径&#xff0c;而Floyd算法的应用更加广泛&#…

基于vue的黑马前端项目小兔鲜

目录 项目学习 初始化项目 建立项目 引入elementplus elementPlus主题设置 配置axios 路由 引入静态资源 自动导入scss变量 Layout页 组件结构快速搭建 字体图标渲染 一级导航渲染 吸顶导航交互实现 Pinia优化重复请求 Home页 分类实现 banner轮播图 …

vue变量赋值中文,但是输出为乱码,解决办法

很奇怪&#xff0c;展示出来为乱码 来看代码输出 控制台的输出也是乱码 这是因为文件编码问题&#xff0c;可以看到我使用的编码不对 更改一下编码 要选择UTF-8 保存之后重新运行&#xff0c;就可以看到正确显示啦&#xff01;

JavaScript学习笔记05

JavaScript笔记05 操作 BOM 对象&#xff08;重点&#xff09; 什么是 BOM BOM&#xff08;Browser Object Model&#xff09;是指浏览器对象模型&#xff0c;是用于描述这种对象与对象之间层次关系的模型。浏览器对象模型&#xff08;BOM&#xff09;提供了独立于内容的、可…

分享一个java+springboot+vue校园电动车租赁系统(源码、调试、开题、lw)

&#x1f495;&#x1f495;作者&#xff1a;计算机源码社 &#x1f495;&#x1f495;个人简介&#xff1a;本人七年开发经验&#xff0c;擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等&#xff0c;大家有这一块的问题可以一起交流&#xff01; &#x1f495;&…

UE5学习笔记(2)——打包第一个安卓demo(附碰到的问题)

这里是目录 0. 安装Android Studio我的解决方案 1. 调试安卓设备2. 创建游戏项目问题记录 3. 配置APK4. UE&#xff0c;启动&#xff01;很不辛&#xff0c;闪退了编译完&#xff0c;部署到设备&#xff1a;部署失败&#xff01;原因再试一次&#xff01; 5. 打包安卓包UE&…

【企业级SpringBoot单体项目模板 】—— 一些开发规范

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;SpringBoot项目模版、企业级☀️每日 一言&#xff1a;种一棵树最好的时间是十年前&#xff0c;其次是现在&#xff01; 上一回我们已经搭建了一个单体SpringBoot项目并且做了一些全局的配置、比…

C语言自定义类型(上)

大家好&#xff0c;我们又见面了&#xff0c;这一次我们来学习一些C语言有关于自定义类型的结构。 目录 1.结构体 2位段 1.结构体 前面我们已经学习了一些有关于结构体的知识&#xff0c;现在我们进行深入的学习有关于它的知识。 结构是一些值的集合&#xff0c;这些值称为…

.Net6与Framework不同方式获取文件哈希值的性能对比

算法&#xff1a;MD5、SHA1、SHA256、SHA384、SHA512文件数&#xff1a;200平台对比&#xff1a;.NET 6 vs .NET Framework 4.7.2 关键代码 // 读取文件夹&#xff0c;获取MD5值 var hashs new HashAlgorithm[] { MD5.Create(), SHA1.Create(), SHA256.Create(), SHA384.Cre…

【C++】C++ 类中的 this 指针用法 ( C++ 类中的 this 指针引入 | this 指针用法 | 代码示例 )

文章目录 一、C 类中的 this 指针1、C 类中的 this 指针引入2、C 类中的 this 指针用法3、完整代码示例 一、C 类中的 this 指针 1、C 类中的 this 指针引入 在 C 类中 , this 指针 是一个特殊的指针 , 由系统自动生成 , 不需要手动声明定义 , 在类中的每个 非静态成员函数 中 …