浅探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 相关文章推荐
javascript中利用柯里化函数实现bind方法
Apr 29 Javascript
Vue.JS入门教程之自定义指令
Dec 08 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
Feb 05 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
Jun 03 Javascript
JS之if语句对接事件动作逻辑(详解)
Jun 28 Javascript
Webpack性能优化 DLL 用法详解
Aug 10 Javascript
node vue项目开发之前后端分离实战记录
Dec 13 Javascript
Vee-validate 父组件获取子组件表单校验结果的实例代码
May 20 Javascript
vue vant Area组件使用详解
Dec 09 Javascript
小谈angular ng deploy的实现
Apr 07 Javascript
javascript 内存模型实例详解
Apr 18 Javascript
Openlayers实现点闪烁扩散效果
Sep 24 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/06/14 PHP
destoon实现资讯信息前面调用它所属分类的方法
2014/07/15 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
php微信公众号开发之秒杀
2018/10/20 PHP
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
2010/05/10 Javascript
javascript怎么禁用浏览器后退按钮
2014/03/27 Javascript
JavaScript中的eval()函数使用介绍
2014/12/31 Javascript
非常酷炫的Bootstrap图片轮播动画
2016/05/27 Javascript
jquery mobile界面数据刷新的实现方法
2016/05/28 Javascript
原生JS实现轮播效果+学前端的感受(防止走火入魔)
2016/08/21 Javascript
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
2016/12/28 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
2017/04/21 jQuery
vue元素实现动画过渡效果
2017/07/01 Javascript
使用vue构建一个上传图片表单
2017/07/04 Javascript
js排序与重组的实例讲解
2017/08/28 Javascript
详解javascript中的Error对象
2019/04/25 Javascript
js实现烟花特效
2020/03/02 Javascript
Python函数中定义参数的四种方式
2014/11/30 Python
python下如何查询CS反恐精英的服务器信息
2017/01/17 Python
Python进程间通信之共享内存详解
2017/10/30 Python
Python操作Sql Server 2008数据库的方法详解
2018/05/17 Python
使用python将时间转换为指定的格式方法
2018/11/12 Python
Python数据抓取爬虫代理防封IP方法
2018/12/23 Python
Python二叉搜索树与双向链表转换算法示例
2019/03/02 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
使用pyecharts1.7进行简单的可视化大全
2020/05/17 Python
python 瀑布线指标编写实例
2020/06/03 Python
HTML5中微数据概述及在搜索引擎中的使用举例
2013/02/07 HTML / CSS
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
2014/09/09 面试题
医学生毕业自我鉴定
2014/03/26 职场文书
《宿建德江》教学反思
2014/04/23 职场文书
电工实训报告总结
2014/11/05 职场文书
外贸英文求职信范文
2015/03/19 职场文书
Python中三种花式打印的示例详解
2022/03/19 Python