10.3使用Koa中间件构建网站雏形

news/2024/5/17 11:28:22/文章来源:https://blog.csdn.net/m0_37243869/article/details/103887472

Chapter:10.服务端环境搭建和开发过程

10.3使用Koa中间件构建网站雏形

1.安装依赖包

老师提供的package.json 文件包含了要下载的包(查看该文件代码很容易理解,相当于就是一个写好的脚本)

7346071-bb69cd98a734f6cf.png
10.3.1package.json文件内容.png

步骤

  1. 创建文件主目录webAppReader

  2. package.json文件复制进主目录

  3. 执行package.json文件:

    1. 在命令行中进入文件主目录
    2. 执行 npm install(前提是先安装node.js,这个网上教程有很多)

到了此步就会自动下载package.json文件里那些包并指定项目入口文件app.js

问题:windows不支持n模块,安装会报错,只支持 mac 或者 linux,不过直到最后面项目也没用上这个模块。

https://cnodejs.org/topic/556fb2858ce3684b284b55fd

https://github.com/tj/n/issues/435

7346071-4ce7aae00b278b51.png
10.3.2安装package.json里的依赖包时遇到的错误.png

2.创建入口文件app.js

2.1实现路由功能

路由(route)是指根据url分配对应的处理程序,这里使用 koa-route 中间件模块实现

app.js 里的代码

var koa = require('koa');//引入koa模块
var controller = require('koa-route');//提供路由功能,相当于java的控制器var app=koa();//实例化/*1.设置一个route*/
//当访问/route_test路径时,网页返回相应内容
//koa的这个中间件接受的函数是一个generator
app.use(controller.get('/route_test',function*(){this.set('Cache-Control','no-cache');//设置HTTP返回头,不缓存内容this.body='hello koa!';//设置返回的内容
}));app.listen(3001);//设置监听端口
console.log('koa server is started');
//运行结果:运行该程序,到地址栏访问 localhost:3001/route_test 页面会显示hello koa字样

2.2实现模板渲染功能

返回渲染好样式的内容,这里使用 co-views 中间件模块实现

  1. view 目录里新建 testmodel.html 文件,里面随便写点什么
  2. app.js里的代码
var views=require('co-views');//提供模板渲染功能
var render =views('./view',{//render意思:渲染;使得.map : {html : 'ejs'}
});//实例化views,参数1是模板访问路径(注意斜杠前的点,因为路径默认是根目录),参数2是指定模板文件类型后缀和模板类型/*2.实现模板渲染功能 */
app.use(controller.get('/ejs_test',function*(){this.set('Cache-Control','no-cache');//设置HTTP返回头,不缓存内容this.body=yield render('testmodel',{title:'title_test'});//yield语句 是es6的语言特性generator函数,用于完成异步函数的执行,阮一峰的博客介绍得比较详细//render的参数1是模板(html文件)的名字,在初始化render时设置的路径里寻找,参数2是传入模板的"变量:变量值"键值对}));
app.listen(3001);//设置监听端口
console.log('koa server is started');//运行结果:运行该程序,到地址栏访问 localhost:3001/ejs_test 页面会显示testmodel.html文件里的内容

2.3访问静态资源功能

根据路径访问服务器的静态资源

  1. static 目录下新建 staticVisitTest.html 文件,里面随便写点什么
  2. app.js里的代码
var koa_static=require('koa-static-server');//提供静态资源访问功能的中间件
//如果没添加一个新文件就写一个路由也行,不过这样太麻烦了/*3.实现静态资源访问功能 */
app.use(koa_static({rootDir:'./static/',//实际访问的服务器中的路径rootPath:'/static/',//地址栏中输入的路径,这个路径可以和上面的不同,而且这是是网页引用该目录下文件(比如js文件)时写的路径maxage:0 //缓存有效时间
}));
app.listen(3001);//设置监听端口
console.log('koa server is started');//运行结果:运行该程序,到地址栏访问 localhost:3001/s/staticVisitTest.html 页面会显示staticVisitTest.html文件里的内容

2.4前后端数据通信功能(数据在前后端的传输)

​ 在本章接下来的文章讲

概念辨析

中间件(Middleware)

**实际上中间件的概念太模糊了,怎么说都可以,广义上来说应该是位于「中间」,为「两侧」提供服务的软件。 **

比如在本地计算机和网络服务器之间传输数据时要经历的一层处理文件。如果将数据交互的过程三等分的话,就是底层、中间件,表示层。实际上就是底层和表示层都根据中间件的接口来开发。

按学校老师的说法,中间件是一种能让通用计算机运行专用的软件的软件,是一个容器,spring 就是一种中间件,能让通用计算机成为运行web程序的服务器。

koa 中的中间件指的应该是插件的意思: 能提供额外功能的模块,但是没有也不影响核心系统的运行。

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10.6网站服务端Ajax接口的完整开发(用于数据交互)

Chapter:10.服务端环境搭建和开发过程 10.6网站服务端Ajax接口的完整开发(用于数据交互) 1.初步了解接口&获取mock数据文件 查看网站 dushu.xiaomi.com (实际开发中如果http接口没有写好需要用测试数据的话,应该是和后端沟通拿到测试数据)&#x…

用心服务每一所高校:传智播客旗下院校服务品牌——院校邦官方网站正式上线!

文章目录 院校邦官网介绍院校邦业务范围介绍院校邦展望 院校邦官网介绍 经过长达半年时间的筹备,近日,传智播客旗下院校服务品牌——院校邦官方网站(www.ityxb.com)正式上线运行。 官网旨在为教师备课、技能充电、教学改革提供一…

seo优化之怎样降低网站跳出率

前面我们写到了什么是网站PV,其中就谈到了什么是跳出率,跳出率就是只访问了网站一个页面就离开了的用户占全部访问用户的百分比。今天深圳SEO就来详细解释一下什么是跳出率,怎样把跳出率降到最低。 只访问了网站一个页面就离开了网站&#x…

优秀网站导航设计的6个原则

在建立一个优秀的网站时,很难低估网站导航的重要性。虽然它不像其他一些主题那样华而不实,但错误的做法可能会使您的企业损失数万美元。 例如,考虑以下错误: 潜在客户没有意识到您提供特定服务,因此他们不会与您联系…

响应式网站建设:为什么它对您来说很重要

随着移动网站流量的持续增长,公司不能再拖延响应性网站建设的时间。 响应式网站设计早就退出了“早期采用者”阶段。互联网用户现在完全希望网站能够智能地响应他们使用的任何设备。 2017年,全球50.3%的网站访问来自手机。 我们走了很长一段路&#x…

如何针对搜索结果的精选代码进行seo优化

如果您希望为您的网站吸引更多流量并让更多用户点击您的内容,那么在搜索引擎中显示为精选摘要可能有所帮助。但是,如何将您的内容置于搜索结果中这个令人垂涎的地方? 在这篇文章中,深圳seo外包公司千赋科技讲带大家一起探讨: 什…

怎么才能做好营销型网站建设?

你有没有想过,是什么让一些网站如此受欢迎,而另一些网站却在初次访问后被忽视或很快被遗忘?一个好的网站不仅仅能吸引游客。最有效的网站将这些访问转化为实际的销售,可以帮助您建立强大的客户群。它所需要的只是一些智能的设计技巧、信息丰…

网站使用静态页面对seo优化的影响有多大

你可能已经意识到,在我们网站,很多内容都是关于织梦的的,那是因为网站程序用的织梦系统。当然,还有其他方法来构建网站,例如使用其他内容管理系统,甚至是静态网站生成。 如果您只使用内容管理系统(CMS)(如…

企业网站制作需要注意的几个问题

企业的官网对一家企业来说非常重要,在互联网时代,官网就代表着一家企业在网上的门面和形象。大部分人现在在试图了解陌生的公司时,都会选择去官网一探究竟,所以如果企业网站的设计不成功的话很大可能会影响到企业的发展。 如今&a…

响应式网站建设的3个优点

在当今的数字时代,越来越多的人使用平板电脑和智能手机等移动设备访问互联网。随着越来越多的消费者使用这些设备购买产品和服务,企业利用响应式网站建设非常重要。 通过响应式建站,您的网站可以重新配置其内容和图像,以适应任何…

SEO或SEM:您的网络营销策略是什么?

在考虑网络营销时,重要的是要考虑大局并考虑什么是适合您的业务。许多企业主提出的首要问题之一是他们是否应该将他们的网站营销工作重点放在搜索引擎优化(SEO)或搜索引擎营销(SEM)上。在长期成功方面,有效的在线营销不是将您的所有资源投入到一种类型的…

APP与Web网站产品的区别,别脑子一热就去作APP

App的兴起,应该感谢苹果公司,要不是苹果公司推出iphone手机和App Store,这个行业或许不会发展的如此快,但最近几年,App的热度明显降温了许多。越来越多的个人、创业公司并不热衷于开发App了。原因有三高,首…

ssl加密:提高网站建设的安全性

不知道细心的大家有没有发现平时浏览的时候一些大型的搜索引擎网址还有网购平台前面都是https为开头了,就像百度、360、淘宝、京东、腾讯等,前面都是https为开头,大家都可以去打开看一下是不是这样的。那https又是怎么回事呢?网站注重安全的…

精心整理!分享25个适合三维爱好者的模型网站与数百款场景模型

作为三维爱好者,不管是商业作品还是个人作品,我们经常需要制作各种模型与场景。 作为三维爱好者,不管是商业作品还是个人作品,我们经常需要制作各种模型与场景。 本次分享25个三维模型网站,非常适合三维软件设计师们…

设计神器,有了这些配色网站,你的作品会高人一等

​对于网页设计师来说,颜色搭配是一件非常重要的事情,合理的颜色搭配会给人视觉上的享受,如何才能够更好的搭配颜色,可能就需要用到专业的工具来帮助完成了。 所以,这期特别为大家整理了几个比较专业的配色网站&#…

10个提供Logo设计灵感的创意网站

​设计是一个脑力活,每一位设计师都会在设计作品的时候,遇到思路不清晰的情况。上期分享的一些灵感来源网站收获还不错,不少粉丝都还希望我再出一期更细致一点的,那结合后台的一些数据反馈,这期就给大家分享一些能在lo…

最简单的视频网站(JavaEE+FFmpeg)

本文记录一个最简单的视频网站系统。此前做过一些基于JavaEE中的SSH (Strut2 Spring Hibernate)的网站系统,但是一直没有做过一个视频网站系统,所以就打算做一个“精简”的视频网站系统,以方便以后测试以及学习使用。本视频网站支持直播&am…

DAVID网站基因富集操作指南

DAVID 操作指南 Database for Annotation, Visualization and Integrated Discovery (DAVID) 官网:https://david.ncifcrf.gov/ 点击Start Analysis(开始分析) Step1 选择基因 方式一:直接粘贴基因名称 方式二:上传…

Windows:CUDA9.0+Pytorch+tensorflowGPU+opencv版本适配操作+网站整理

机器配置:(实验室机子算力较低 ) 驱动程序版本:385.54 算力3.5 如何查看算力:https://developer.nvidia.com/zh-cn/cuda-gpus#compute 参考网站:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.htm…

绕过网站安全狗拦截,上传Webshell技巧总结(附免杀PHP一句话)

转载自:http://www.freebuf.com/articles/web/125084.html *本文原创作者:1_2,本文属FreeBuf原创奖励计划,未经许可禁止转载 这篇文章我介绍一下我所知道的绕过网站安全狗上传WebShell的方法。 思路是:修改HTTP请求…