浅探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 相关文章推荐
jquery实现焦点图片随机切换效果的方法
Mar 12 Javascript
input输入框鼠标焦点提示信息
Mar 17 Javascript
Google 地图获取API Key详细教程
Aug 06 Javascript
浅谈JS之iframe中的窗口
Sep 13 Javascript
jquery文字填写自动高度的实现方法
Nov 07 Javascript
Angular中响应式表单的三种更新值方法详析
Aug 22 Javascript
vue-router路由懒加载和权限控制详解
Dec 13 Javascript
VUE在for循环里面根据内容值动态的加入class值的方法
Aug 12 Javascript
详解如何构建一个Angular6的第三方npm包
Sep 07 Javascript
微信小程序自定义多列选择器使用详解
Jun 21 Javascript
JavaScript this在函数中的指向及实例详解
Oct 14 Javascript
vue计算属性+vue中class与style绑定(推荐)
Mar 30 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与MySQL交互使用详解
2006/10/09 PHP
微信公众平台开发实现2048游戏的方法
2015/04/15 PHP
PHP编程中的__clone()方法使用详解
2015/11/27 PHP
php无限级分类实现方法分析
2016/10/19 PHP
Yii框架布局文件的动态切换操作示例
2019/11/11 PHP
JS支持带x身份证号码验证函数
2008/08/10 Javascript
TextArea设置MaxLength属性最大输入值的js代码
2012/12/21 Javascript
在JavaScript里嵌入大量字符串常量的实现方法
2013/07/07 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
JS在一定时间内跳转页面及各种刷新页面的实现方法
2016/05/26 Javascript
JS常用字符串方法(推荐)
2021/01/15 Javascript
浅谈javascript中的加减时间
2016/07/12 Javascript
javascript时间差插件分享
2016/07/18 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
2016/10/17 Javascript
Node.js 的 GC 机制详解
2019/06/03 Javascript
Vue仿微信app页面跳转动画效果
2019/08/21 Javascript
electron+vue实现div contenteditable截图功能
2020/01/07 Javascript
用Python解决计数原理问题的方法
2016/08/04 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
python pprint模块中print()和pprint()两者的区别
2020/02/10 Python
详解Python中pyautogui库的最全使用方法
2020/04/01 Python
Django 解决新建表删除后无法重新创建等问题
2020/05/21 Python
Python 中的函数装饰器和闭包详解
2021/02/06 Python
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
SQL Server面试题
2016/10/17 面试题
事业单位接收函
2014/01/10 职场文书
护士辞职信模板
2014/01/20 职场文书
家居饰品店创业计划书
2014/01/31 职场文书
英文求职信写作小建议
2014/02/16 职场文书
班组长竞聘书
2014/03/31 职场文书
党员承诺书范文
2014/05/19 职场文书
2014保险公司个人工作总结
2014/12/09 职场文书
2015年银行客户经理工作总结
2015/04/01 职场文书
税务会计岗位职责
2015/04/02 职场文书
MySQL如何使用使用Xtrabackup进行备份和恢复
2021/06/21 MySQL
浅谈Web Storage API的使用
2021/06/23 Javascript