浅探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 相关文章推荐
判断在css加载完毕后执行后续代码示例
Sep 03 Javascript
Javascript核心读书有感之语言核心
Feb 01 Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
Sep 15 Javascript
JS从一组数据中找到指定的单条数据的方法
Jun 02 Javascript
jQuery实现点击行选中或取消CheckBox的方法
Aug 01 Javascript
jQuery的 $.ajax防止重复提交的两种方法(推荐)
Oct 14 Javascript
js与jquery分别实现tab标签页功能的方法
Nov 18 Javascript
浅谈Javascript中的Label语句
Dec 14 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
Feb 10 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
Jul 07 Javascript
JS实现数组去重及数组内对象去重功能示例
Feb 02 Javascript
jQuery中event.target和this的区别详解
Aug 13 jQuery
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图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
Win下如何安装PHP的APC拓展
2013/08/07 PHP
php检测url是否存在的方法
2015/04/14 PHP
设定php简写功能的方法
2019/11/28 PHP
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
浅析JavaScript基本类型与引用类型
2014/05/28 Javascript
jQuery基础语法实例入门
2014/12/23 Javascript
js实现文本框只允许输入数字并限制数字大小的方法
2015/08/19 Javascript
javascript insertAfter()定义与用法示例
2016/07/25 Javascript
完美的js图片轮换效果
2017/02/05 Javascript
Vue中用props给data赋初始值遇到的问题解决
2018/11/27 Javascript
Node.js API详解之 tty功能与用法实例分析
2020/04/27 Javascript
vue中实现拖动调整左右两侧div的宽度的示例代码
2020/07/22 Javascript
python处理cookie详解
2014/02/07 Python
Python中生成器和yield语句的用法详解
2015/04/17 Python
Python的自动化部署模块Fabric的安装及使用指南
2016/01/19 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
python如何通过pyqt5实现进度条
2020/01/20 Python
python实现银行实战系统
2020/02/26 Python
Asics日本官网:鬼冢八喜郎创立的跑鞋运动品牌
2017/10/18 全球购物
MaBelle玛贝尔香港官网:香港钻饰连锁店
2019/09/09 全球购物
平面设计岗位职责
2013/12/14 职场文书
作弊检讨书1000字
2014/02/01 职场文书
2014年公司迎新年活动方案
2014/02/24 职场文书
大学自主招生自荐信范文
2014/02/26 职场文书
触电现场处置方案
2014/05/14 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
英语教师求职信
2014/06/16 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
模范班主任事迹材料
2014/12/17 职场文书
运动会闭幕词
2015/01/28 职场文书
小学生光盘行动倡议书
2015/04/28 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
食品卫生管理制度
2015/08/06 职场文书
详解JVM系列之内存模型
2021/06/10 Javascript
英国数字版游戏销量周榜公布 《小缇娜的奇幻之地》登顶
2022/04/03 其他游戏