浅探express路由和中间件的实现


Posted in Javascript onSeptember 30, 2019

1. Express简介

express是一个基于node.js平台的极简,灵活的web应用开发框架,它提供一系列强大的特征,帮助你创建各种web和移动设备应用

express框架核心特征:

  1. 可以设置中间件来响应HTTP请求
  2. 定义了路由表用于执行不同的HTTP请求动作(url=资源)映射
  3. 可以通过向模板传递参数来动态渲染HTML页面

2. 安装

在命令行中输入cnpm install express -g即可进行全局安装

3. 路由和中间件

使用前,先引入express

var express = require('express');
var app = express();

路由

路由表示如何处理HTTP请求中的路径(path)部分

http://host:[port]/[path]

例子:

app.get('/',function(req,res){
  res.send('hello world')
})

以上例子中,get可换成post或其他请求方法,方法的第一个参数'/'为匹配所有路径,可用正则表达式或其他方法进行配对,第二个参数是要执行的函数

中间件

中间件是在服务器收到请求和发送响应之前所执行的一些函数
中间件 是一个函数,它可以访问请求对象(request object (req)), 响应对象(response object (res)), 和 web 应用中处于请求-响应循环流程中的中间件,一般被命名为 next 的变量。
中间件的功能包括:

  • 执行任何代码。
  • 修改请求和响应对象。
  • 终结请求-响应循环。
  • 调用堆栈中的下一个中间件。
  • 如果当前中间件没有终结请求-响应循环,则必须调用 next() 方法将控制权交给下一个中间件,否则请求就会挂起。

用app.use来在请求或响应之前插入一个中间件

app.use(function(req,res,next){
  //执行一些代码
  next();
})

可以有多个中间件,next表示让后面中间件继续处理

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Save a File Using a File Save Dialog Box
Jun 18 Javascript
JavaScript的变量作用域深入理解
Oct 25 Javascript
jquery+css+ul模拟列表菜单具体实现思路
Apr 15 Javascript
js 操作select与option(示例讲解)
Dec 20 Javascript
利用jquery制作滚动到指定位置触发动画
Mar 26 Javascript
jquery对象与DOM对象转化
Feb 08 Javascript
正则验证小数点后面只能有两位数的方法
Feb 28 Javascript
jQuery控制元素隐藏和显示
Mar 03 Javascript
教你快速搭建Node.Js服务器的方法教程
Mar 30 Javascript
深入浅析javascript函数中with
Oct 28 Javascript
Vue路由切换页面不更新问题解决方案
Jul 10 Javascript
JS一分钟在github+Jekyll的博客中添加访问量功能的实现
Apr 03 Javascript
JavaScript实现单图片上传并预览功能
Sep 30 #Javascript
解决vue cli使用typescript后打包巨慢的问题
Sep 30 #Javascript
laravel实现中文和英语互相切换的例子
Sep 30 #Javascript
JavaScript键盘事件响应顺序详解
Sep 30 #Javascript
vue自动化路由的实现代码
Sep 30 #Javascript
js实现图片上传即时显示效果
Sep 30 #Javascript
vue实现select下拉显示隐藏功能
Sep 30 #Javascript
You might like
PHP 反向排序和随机排序代码
2010/06/30 PHP
在windows服务器开启php的gd库phpinfo中未发现
2013/01/13 PHP
PHP高效获取远程图片尺寸和大小的实现方法
2017/10/20 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
javascript 防止刷新,后退,关闭
2010/08/07 Javascript
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
jQuery+.net实现浏览更多内容(改编php版本)
2013/03/28 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
2013/06/05 Javascript
jquery更换文章内容与改变字体大小代码
2013/09/30 Javascript
用jquery获取自定义的标签属性的值简单实例
2016/09/17 Javascript
8 行 Node.js 代码实现代理服务器
2016/12/05 Javascript
原生js实现无缝轮播图效果
2017/01/11 Javascript
nodejs搭建本地http服务器教程
2017/03/13 NodeJs
nodejs+mongodb+vue前后台配置ueditor的示例代码
2018/01/02 NodeJs
详解vue移动端日期选择组件
2018/02/22 Javascript
fastadmin中调用js的方法
2019/05/14 Javascript
Javascript三种字符串连接方式及性能比较
2019/05/28 Javascript
微信小程序实现限制用户转发功能的实例代码
2020/02/22 Javascript
Python即时网络爬虫项目启动说明详解
2018/02/23 Python
python pycurl验证basic和digest认证的方法
2018/05/02 Python
Pyqt5实现英文学习词典
2019/06/24 Python
Python面向对象编程基础实例分析
2020/01/17 Python
Html5页面在微信端的分享的实现方法
2018/08/30 HTML / CSS
浅谈html5 响应式布局
2014/12/24 HTML / CSS
澳大利亚一站式数码相机商店:CameraPro
2020/03/09 全球购物
房地产广告词大全
2014/03/19 职场文书
廉洁自律承诺书
2014/03/27 职场文书
党支部公开承诺书
2014/03/28 职场文书
《青海高原一株柳》教学反思
2014/04/25 职场文书
入职担保书范文
2014/05/21 职场文书
建筑工程技术专业求职信
2014/07/16 职场文书
2014市国税局对照检查材料思想汇报
2014/09/23 职场文书
优秀教师先进事迹材料
2014/12/15 职场文书
刮痧观后感
2015/06/05 职场文书
教你如何使用Python下载B站视频的详细教程
2021/04/29 Python
python运行脚本文件的三种方法实例
2022/06/25 Python