浅探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 相关文章推荐
解析arp病毒背后利用的Javascript技术附解密方法
Aug 06 Javascript
jquery中动态效果小结
Dec 16 Javascript
JS保存和删除cookie操作 判断cookie是否存在
Nov 13 Javascript
javascript电商网站抢购倒计时效果实现
Nov 19 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
Dec 04 Javascript
javascript拖拽应用实例
Mar 25 Javascript
值得分享的bootstrap table实例
Sep 22 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
Nov 22 Javascript
js实现HTML中Select二级联动的实例
Jan 05 Javascript
javascript之分片上传,断点续传的实际项目实现详解
Sep 05 Javascript
Vue.js的模板语法详解
Feb 16 Javascript
vue+elementui实现点击table中的单元格触发事件--弹框
Jul 18 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函数代码
2013/08/29 PHP
详解PHP用substr函数截取字符串中的某部分
2016/12/03 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
2018/05/25 PHP
网页右下角弹出窗体实现代码
2014/06/05 Javascript
JQuery设置时间段下拉选择实例
2014/12/30 Javascript
浅谈JS之iframe中的窗口
2016/09/13 Javascript
基于JavaScript实现微信抢红包功能
2017/07/20 Javascript
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
2017/11/07 Javascript
springMvc 前端用json的方式向后台传递对象数组方法
2018/08/07 Javascript
jsonp跨域及实现百度首页联想功能的方法
2018/08/30 Javascript
Layui表格监听行单双击事件讲解
2019/11/14 Javascript
Python版实现微信公众号扫码登陆
2020/05/28 Javascript
[01:54]胎教DOTA2 准妈妈玩家现身中国区预选赛
2016/06/26 DOTA
Python入门教程之运算符与控制流
2016/08/17 Python
OpenCV实现人脸识别
2017/04/07 Python
python3 map函数和filter函数详解
2019/08/26 Python
python列表生成器迭代器实例解析
2019/12/19 Python
keras实现多GPU或指定GPU的使用介绍
2020/06/17 Python
详解python中的异常捕获
2020/12/15 Python
Django url 路由匹配过程详解
2021/01/22 Python
css3的transition效果和transfor效果示例介绍
2013/10/30 HTML / CSS
关于HTML5+ API plusready的兼容问题
2020/11/20 HTML / CSS
FORZIERI澳大利亚站:全球顶级奢华配饰精品店
2016/12/31 全球购物
澳大利亚首屈一指的鞋类品牌:Tony Bianco
2018/03/13 全球购物
荷兰演唱会和体育比赛订票网站:viagogo荷兰
2018/04/08 全球购物
数百万免费的图形资源:Freepik
2020/09/21 全球购物
岗位职责范本
2013/11/23 职场文书
英文自荐信
2013/12/19 职场文书
安全教育心得体会
2013/12/29 职场文书
大学生怎样写好自荐信
2014/02/25 职场文书
篝火晚会策划方案
2014/05/16 职场文书
苦儿流浪记读书笔记
2015/07/01 职场文书
《酸的和甜的》教学反思
2016/02/18 职场文书
建筑工程挂靠协议书
2016/03/23 职场文书
导游词之天津古文化街
2019/11/09 职场文书
Python基础之函数嵌套知识总结
2021/05/23 Python