浅探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 相关文章推荐
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
Aug 31 Javascript
JavaScript 入门·JavaScript 具有全范围的运算符
Oct 01 Javascript
JQuery插件Style定制化方法的分析与比较
May 03 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
Aug 12 Javascript
jQuery实现表格颜色交替显示的方法
Mar 09 Javascript
jquery自定义表格样式
Nov 23 Javascript
将form表单通过ajax实现无刷新提交的简单实例
Oct 12 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
Mar 10 Javascript
node.js中使用Export和Import的方法
Sep 18 Javascript
浅入深出Vue之自动化路由
Aug 06 Javascript
微信小程序中weui用法解析
Oct 21 Javascript
Ajax常用封装库——Axios的使用
May 08 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
19个Android常用工具类汇总
2014/12/30 PHP
php array_multisort 对数组进行排序详解及实例代码
2016/10/27 PHP
php之header的不同用法总结(实例讲解)
2017/11/28 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
PHP后期静态绑定之self::限制实例分析
2018/12/21 PHP
对google个性主页的拖拽效果的js的完整注释[转]
2007/04/10 Javascript
JavaScript类库D
2010/10/24 Javascript
javascript 事件处理程序介绍
2012/06/27 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/06/05 Javascript
jQuery zclip插件实现跨浏览器复制功能
2015/11/02 Javascript
跟我学习javascript的全局变量
2015/11/16 Javascript
javascript事件的绑定基础实例讲解(34)
2017/02/14 Javascript
微信小程序遇到修改数据后页面不渲染的问题解决
2017/03/09 Javascript
Vue实现选择城市功能
2017/05/27 Javascript
vue跨域解决方法
2017/10/15 Javascript
vue v-model动态生成详解
2018/06/30 Javascript
JS获取并处理php数组的方法实例分析
2018/09/04 Javascript
React 源码中的依赖注入方法
2018/11/07 Javascript
JS左右无缝轮播功能完整实例
2019/05/16 Javascript
js的新生代垃圾回收知识点总结
2019/08/22 Javascript
微信jssdk踩坑之签名错误invalid signature
2020/05/19 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
python3序列化与反序列化用法实例
2015/05/26 Python
python用户管理系统的实例讲解
2017/12/23 Python
python unittest实现api自动化测试
2018/04/04 Python
Windows下python3.6.4安装教程
2018/07/31 Python
pytorch torchvision.ImageFolder的用法介绍
2020/02/20 Python
干部下基层实施方案
2014/03/14 职场文书
劳动竞赛口号
2014/06/16 职场文书
诚信考试标语
2014/06/24 职场文书
党委班子对照检查材料
2014/08/19 职场文书
医务人员医德考评自我评价
2015/03/03 职场文书
使用Springboot实现健身房管理系统
2021/07/01 Java/Android
MySQL中IO问题的深入分析与优化
2022/04/02 MySQL
一文搞懂Java中的注解和反射
2022/06/21 Java/Android