一.路由
什么是路由
路由(Routing)是指根据不同的 URL 地址,将用户导航到不同的页面或视图的过程。在前端开发中,特别是在单页面应用(SPA)中,路由起着至关重要的作用。
传统的 Web 应用中,每个不同的页面都对应一个不同的 URL 地址,当用户点击链接或输入不同的 URL 时,浏览器会向服务器发送请求,服务器返回对应的页面内容,然后浏览器进行页面的刷新和渲染。这种方式的缺点是每次跳转页面都需要向服务器发送请求,会造成页面的刷新,并且用户体验不够流畅。
而在单页面应用中,整个应用只有一个 HTML 页面(或模板),所有的界面内容都是通过动态加载数据和更新 DOM 来实现的。当用户点击链接或输入不同的 URL 时,页面不会刷新,而是通过路由系统将用户导航到对应的视图或页面,实现局部内容的更新,从而提供更好的用户体验。
路由系统通常由以下几个基本部分组成:
- 路由表(Route Table):定义了不同的 URL 对应的视图或组件。
- 路由器(Router):负责解析 URL,根据路由表的配置将用户导航到正确的视图或组件。
- 路由视图(Router View):作为容器,用于渲染当前 URL 对应的视图或组件。
在常见的前端框架中,如Vue.js、React 和 Angular,都提供了路由功能的支持。开发者可以通过配置路由表,定义不同的 URL 对应的视图组件,并使用路由器来实现页面之间的切换和导航。
使用路由,开发者可以实现以下功能:
- 前端页面的无刷新跳转和局部更新,提升用户体验。
- 实现多层级的页面导航结构。
- 实现动态路由参数,根据参数显示不同的页面内容。
- 实现路由守卫(Route Guard),根据条件限制用户访问某些页面。
总之,路由是一种前端开发中重要的概念,它通过定义不同 URL 对应的视图或组件,实现前端页面的无刷新跳转和局部更新,提供更好的用户体验和更高的应用程序灵活性。
什么是SPA
SPA(Single Page Application)是一种网页应用程序的架构模式,它将整个应用程序构建为一个单独的页面,通过动态加载数据和更新 DOM 来实现页面的切换和更新,而不需要每次跳转页面都向服务器发送请求进行页面刷新。
传统的多页面应用(MPA)中,每个不同的页面都对应一个不同的 URL 地址,当用户点击链接或输入不同的 URL 时,浏览器会向服务器发送请求,服务器返回对应的页面内容,然后浏览器进行页面的刷新和渲染。这种方式的缺点是每次跳转页面都需要向服务器发送请求,会造成页面的刷新,并且用户体验不够流畅。
而在SPA中,整个应用只有一个 HTML 页面(或模板),所有的界面内容都是通过动态加载数据和更新 DOM 来实现的。当用户点击链接或输入不同的 URL 时,页面不会刷新,而是通过路由系统将用户导航到对应的视图或页面,实现局部内容的更新,从而提供更好的用户体验。
SPA的特点包括:
- 单页面结构:整个应用只有一个 HTML 页面(或模板)。
- 动态更新:通过动态加载数据和更新 DOM 来实现页面的切换和更新。
- 路由导航:使用路由系统来管理页面之间的导航和跳转。
- 异步加载:通过异步加载数据和组件,提高应用的加载速度和性能。
- 富交互性:可以实现丰富的用户交互和动态效果,提升用户体验。
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的特点和优势包括:
- 非阻塞I/O模型:Node.js使用异步的、非阻塞的I/O模型,使得应用程序在处理高并发请求时能够更加高效地利用计算资源,提升性能。
- 事件驱动:Node.js基于事件驱动的机制,通过回调函数处理各种异步操作,如读写文件、数据库操作、网络请求等。这种机制能够实现高效的事件处理和资源利用。
- 单线程:Node.js采用单线程模型,但通过事件循环机制实现了并发处理。它适用于I/O密集型的应用,例如Web服务器、实时聊天应用、推送服务等。
- 跨平台性:Node.js运行在多个平台上,如Windows、Linux和MacOS等,开发人员能够在不同的操作系统上开发和部署Node.js应用。
- 社区生态丰富: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的下载
下载网址:
下载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启动项目
启动项目效果