Vue路由与nodejs环境搭建

2023-09-21 10:19:06

一.路由

什么是路由

什么是SPA

 

路由的思路及实现

实例

建立一个HTML来编写路由

测试结果

​编辑 

 二.nodejs环境

什么是node.js

 npm是什么

 node.js的下载


一.路由

什么是路由

路由(Routing)是指根据不同的 URL 地址,将用户导航到不同的页面或视图的过程。在前端开发中,特别是在单页面应用(SPA)中,路由起着至关重要的作用。

传统的 Web 应用中,每个不同的页面都对应一个不同的 URL 地址,当用户点击链接或输入不同的 URL 时,浏览器会向服务器发送请求,服务器返回对应的页面内容,然后浏览器进行页面的刷新和渲染。这种方式的缺点是每次跳转页面都需要向服务器发送请求,会造成页面的刷新,并且用户体验不够流畅。

而在单页面应用中,整个应用只有一个 HTML 页面(或模板),所有的界面内容都是通过动态加载数据和更新 DOM 来实现的。当用户点击链接或输入不同的 URL 时,页面不会刷新,而是通过路由系统将用户导航到对应的视图或页面,实现局部内容的更新,从而提供更好的用户体验。

路由系统通常由以下几个基本部分组成:

  1. 路由表(Route Table):定义了不同的 URL 对应的视图或组件。
  2. 路由器(Router):负责解析 URL,根据路由表的配置将用户导航到正确的视图或组件。
  3. 路由视图(Router View):作为容器,用于渲染当前 URL 对应的视图或组件。

在常见的前端框架中,如Vue.js、React 和 Angular,都提供了路由功能的支持。开发者可以通过配置路由表,定义不同的 URL 对应的视图组件,并使用路由器来实现页面之间的切换和导航。

使用路由,开发者可以实现以下功能:

  1. 前端页面的无刷新跳转和局部更新,提升用户体验。
  2. 实现多层级的页面导航结构。
  3. 实现动态路由参数,根据参数显示不同的页面内容。
  4. 实现路由守卫(Route Guard),根据条件限制用户访问某些页面。

总之,路由是一种前端开发中重要的概念,它通过定义不同 URL 对应的视图或组件,实现前端页面的无刷新跳转和局部更新,提供更好的用户体验和更高的应用程序灵活性。

什么是SPA

SPA(Single Page Application)是一种网页应用程序的架构模式,它将整个应用程序构建为一个单独的页面,通过动态加载数据和更新 DOM 来实现页面的切换和更新,而不需要每次跳转页面都向服务器发送请求进行页面刷新。

传统的多页面应用(MPA)中,每个不同的页面都对应一个不同的 URL 地址,当用户点击链接或输入不同的 URL 时,浏览器会向服务器发送请求,服务器返回对应的页面内容,然后浏览器进行页面的刷新和渲染。这种方式的缺点是每次跳转页面都需要向服务器发送请求,会造成页面的刷新,并且用户体验不够流畅。

而在SPA中,整个应用只有一个 HTML 页面(或模板),所有的界面内容都是通过动态加载数据和更新 DOM 来实现的。当用户点击链接或输入不同的 URL 时,页面不会刷新,而是通过路由系统将用户导航到对应的视图或页面,实现局部内容的更新,从而提供更好的用户体验。

SPA的特点包括:

  1. 单页面结构:整个应用只有一个 HTML 页面(或模板)。
  2. 动态更新:通过动态加载数据和更新 DOM 来实现页面的切换和更新。
  3. 路由导航:使用路由系统来管理页面之间的导航和跳转。
  4. 异步加载:通过异步加载数据和组件,提高应用的加载速度和性能。
  5. 富交互性:可以实现丰富的用户交互和动态效果,提升用户体验。

SPA在前端开发中得到了广泛应用,许多流行的前端框架和库,如Vue.js、React 和 Angular,都提供了SPA的支持。开发者可以通过这些框架来方便地构建和管理SPA应用程序。

总结而言,SPA是一种以单页面为基础,通过动态加载数据和更新DOM来实现页面切换和更新的网页应用程序架构模式。它通过提供流畅的用户体验和高性能的应用程序,改善了传统多页面应用的一些问题。

 
路由的思路及实现

1、确保引入Vue.vue-router的js依赖
2、首先需要定义组件(就是展示不同的页面效果)
3、需要将不同的组件放入一个容器中(路由集合)
4、将路由集合组装成路由器
5、将路由挂载到Vue实例中
6、定义锚点
7、跳转 

实例
建立一个HTML来编写路由
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>路由</title>
    <!--  jQuery-->
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
    <!--  vue.js-->
    <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
    <!--    导入router js-->
    <script src="https://cdn.bootcdn.net/ajax/libs/vue-router/2.6.0/vue-router.js"></script>
</head>
<body>
<div id="app">
    <!--触发路由事件按钮-->
    <router-link to="/index">首页</router-link>
 
    <router-link to="/home">介绍</router-link>
 
    <!--    定义锚点,内容-->
    <router-view></router-view>
</div>
</body>
<script type="text/javascript">
    // 定义两个组件
    var Index = Vue.extend({
        template: '<div>这是一个刘文</div>'
    });
    var Home = Vue.extend({
        template: '<div>这也是一个刘文</div>'
    });
    // 定义组件与路径对应关系
    var routes = [{
        component: Index, path: '/index'
    }, {
        component: Home, path: '/home'
    }];
    // 通过路由关系获取路由对象 router
    var router = new VueRouter({routes});
    new Vue({
        el: '#app',
    // 将路由对象挂载到vue实例中
        router
    })
</script>
</html>
测试结果
 

 二.nodejs环境

什么是node.js

Node.js是一个基于Chrome V8 JavaScript引擎构建的开源、跨平台的运行时环境,用于服务器端和网络应用程序的开发。它允许使用JavaScript进行服务器端编程,使得开发人员可以使用统一的编程语言进行前后端开发。

Node.js的特点和优势包括:

  1. 非阻塞I/O模型:Node.js使用异步的、非阻塞的I/O模型,使得应用程序在处理高并发请求时能够更加高效地利用计算资源,提升性能。

  2. 事件驱动:Node.js基于事件驱动的机制,通过回调函数处理各种异步操作,如读写文件、数据库操作、网络请求等。这种机制能够实现高效的事件处理和资源利用。

  3. 单线程:Node.js采用单线程模型,但通过事件循环机制实现了并发处理。它适用于I/O密集型的应用,例如Web服务器、实时聊天应用、推送服务等。

  4. 跨平台性:Node.js运行在多个平台上,如Windows、Linux和MacOS等,开发人员能够在不同的操作系统上开发和部署Node.js应用。

  5. 社区生态丰富:Node.js拥有庞大的开发者社区和丰富的第三方库,使得开发人员可以方便地使用各种功能模块和工具,提高开发效率。

Node.js可以用于构建各种类型的应用程序,包括Web服务器、API服务器、实时应用、微服务、命令行工具等。它提供了丰富的内置模块和API,以及用于处理网络请求、文件系统操作、加密解密、数据库连接等功能的第三方库。

总而言之,Node.js是一个用于服务器端和网络应用程序开发的跨平台运行时环境,使用JavaScript语言进行编程。它的非阻塞I/O模型、事件驱动机制和丰富的生态系统使得开发人员能够以高效的方式构建和部署各种类型的应用。

 npm是什么

 npm其实是Node.js的包管理工具(package manager)。

 node.js:相当于后台的tomcat

npm:相当于maven

 node.js的下载

下载网址:

下载 | Node.js (nodejs.org)

下载Windows系统64位的 

 

在解压出来的文件夹中新建立两个文件夹 

 

配置环境变量 

 

在path里面新建两个目录 

 

windows+R   (cmd) node -v和npm -v分别测试 它是否下对版本

 

 配置npm全局模块路径和cache默认安装位置
  打开cmd,分开执行如下三个命令:

 

  配置好npm全局模块路径后在用户里面找到自己电脑昵称并且找到.npmrc这个文件

 

打开后是这样就代表这到目前没有出现错误 

 

查看镜像源有没有复制成功 (淘宝的)

 

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

 

在cmd中使用node _i下载项目,下载完后使用  npm run dev启动项目 

 

启动项目效果 

 

更多推荐

数据结构:线性表之-队列

目录什么是队列?详解:功能介绍代码实现定义队列基本结构1,初始化2,销毁3,尾入数据4,头出数据5,取队头的数据6,取队尾的数据7,判断是否为空8,计算队列中的元素成品Queue.hQueue.ctest.c队列的讲解将建立在有双向链表的基础之上进行讲解当然队列只是链表的一种分支单项链表详解:#数据结构:线性表之-单向

Spring底层原理之 BeanFactory 与 ApplicationContext

🐌个人主页:🐌叶落闲庭💨我的专栏:💨c语言数据结构javaEE操作系统Redis石可破也,而不可夺坚;丹可磨也,而不可夺赤。Spring底层原理一、BeanFactory与ApplicationContext二、BeanFactory功能三、ApplicationContext功能3.1getMessage3.

【计算机网络】IP协议第一讲(协议格式介绍)

IP协议1.协议头格式1.1概念介绍1.2补充说明1.2.18位生存时间---TTL1.2.216位首部检验和首先明确一个概念:TCP/IP协议是配合使用的,TCP负责可靠传输策略,IP则是负责传输,TCP协议是位于传输层提供的是策略解决可靠性问题,IP协议在网络层,提供的是网络传输服务,实现A主机到B主机的跨网络通信

Python爬虫异常处理实用技巧分享

当我们编写爬虫程序时,经常会遇到各种各样的异常情况,比如网络连接失败、页面解析错误、请求被拒绝等等。这些异常情况可能导致程序中断或者无法正常运行,给我们的数据采集工作带来一定的困扰。所以,掌握一些实用的异常处理技巧对于提高爬虫的稳定性和效率非常重要。在Python中,我们可以使用try-except语句来处理异常。下面

DSOX3012A是德科技keysight DSOX3012A示波器

181/2461/8938是德科技DSOX3012A(安捷伦)示波器是德科技DSOX3012A(安捷伦)是InfiniiVision3000X系列中的双通道型号。这款可升级示波器采用突破性技术设计,提供卓越的性能和功能。其独特的5仪器合一设计为相同的预算提供了更大的范围。是德科技DSOX3012A示波器的特性和规格包括

网络安全深入学习第五课——热门框架漏洞(RCE— Apache Shiro 1.2.4反序列化漏洞)

文章目录一、序列化和反序列化二、反序列化漏洞原理三、ApacheShiro1.2.4反序列化漏洞1、漏洞描述:2、漏洞影响的版本3、Shiro反序列化漏洞原理4、工作原理:5、shiro反序列化的特征:四、ApacheShiro1.2.4反序列化漏洞手工复现1、使用DNSlog严重漏洞是否存在2、VPS监听端口3、构造

【Vue】如何搭建SPA项目--详细教程

🎬艳艳耶✌️:个人主页🔥个人专栏:《Spring与Mybatis集成整合》《springMvc使用》⛺️生活的理想,为了不断更新自己!目录1.什么是vue-cli2.安装2.1.创建SPA项目2.3.一问一答模式答案3.运行SPA项目3.1.导入项目3.2.运行项目4.基于SPA项目完成路由4.1.案例实操5.基于

Python灰帽子编程————网页信息爬取

爬取图片,问题分解:获取网页内容;从网页内容中提取图片地址;通过图片地址,将图片下载到本地。1.相关模块1.1requests模块获取网页内容。requests模块:主要是用来模拟浏览器行为,发送HTTP请求,并处理HTTP响应的功能。importrequests#被认为,最贴近与人的操作的模块importurllib

【C++】C++ 引用详解 ⑥ ( 普通变量 / 一级指针 / 二级指针 做函数参数的作用 )

文章目录一、普通变量/一级指针/二级指针做函数参数的作用1、普通变量做函数参数的作用2、一级指针做函数参数的作用3、二级指针做函数参数的作用4、代码示例-二级指针做函数参数的作用一、普通变量/一级指针/二级指针做函数参数的作用1、普通变量做函数参数的作用普通变量的作用:将普通变量传入函数作为参数,则可以在函数中,访问到

【Java 基础篇】Java 运算符宝典:Java编程的关键

在Java编程中,运算符是用于执行各种操作的特殊符号。它们可以用于操作各种数据类型,执行算术、逻辑和比较等操作。本篇博客将详细介绍Java中常见的运算符,以及它们的使用和示例。算术运算符算术运算符用于执行基本的数学运算,如加法、减法、乘法和除法。加法运算符(+)加法运算符用于将两个值相加,并返回它们的和。示例:inta

MySQL主从复制与读写分离

目录MySQL主从复制1、mysql支持的复制类型2、主从复制的工作过程3、主从复制操作1)下载时间同步工具,并配置时间源,实现slave库与master库时间同步2)、配置主master库3)配置slave库4)登录主MySQL,给从服务器授权5)登录从数据库,配置同步,并启动同步6)测试MySQL读写分离MySQL

热文推荐