浅探express路由和中间件的实现

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表示让后面中间件继续处理

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • nodejs开发——express路由与中间件

    路由 通常HTTP URL的格式是这样的: http://host[:port][path] http表示协议. host表示主机. port为端口,可选字段,不提供时默认为80. path指定请求资源的URI(Uniform Resource Identifier,统一资源定位符),如果URL中没有给出path,一般会默认成"/"(通常由浏览器或其它HTTP客户端完成补充上). 所谓路由,就是如何处理HTTP请求中的路径部分.比如"http://xxx.com/users/

  • 浅探express路由和中间件的实现

    1. Express简介 express是一个基于node.js平台的极简,灵活的web应用开发框架,它提供一系列强大的特征,帮助你创建各种web和移动设备应用 express框架核心特征: 可以设置中间件来响应HTTP请求 定义了路由表用于执行不同的HTTP请求动作(url=资源)映射 可以通过向模板传递参数来动态渲染HTML页面 2. 安装 在命令行中输入cnpm install express -g即可进行全局安装 3. 路由和中间件 使用前,先引入express var express

  • 浅谈express.js框架中间件(middleware)

    _express.js_作为_Node.js_的老牌框架,是现有框架中最全面的.然而在学习express除了那些api之外,对于框架最重要的就是__中间件__这个概念了.如果理解了,就可以把这个框架玩活了,项目开发肯定会更加顺利,而且还可以开发很多额外的功能,甚至中间件扩展开发. 但是就这么一个东西,是很多学习node.js的小萌新们就算写出一个博客项目,都不知道它到底有啥作用.我当时在理解的时候也花了不少功夫,趁着没有啥工作,给各位学习express.js的一点点我的指导意见.当然,这里面可能

  • Node Express用法详解【安装、使用、路由、中间件、模板引擎等】

    目录 安装 基本使用 路由 get和post请求都可以 有字符串正则系统 正则表达式 表单提交 中间件 中间件特点: app.use() render() & send() get & post 静态化文件 模板引擎 本文实例讲述了Node Express用法.分享给大家供大家参考,具体如下: 安装 npm install --save express 基本使用 //引用express var express = require('express'); //创建app var app =

  • node.js express和koa中间件机制和错误处理机制

    目录 一.前言 二.中间件问题解析 三.错误逻辑捕获 3.1 express的错误捕获逻辑 3.2 同步逻辑错误获取的底层逻辑 3.3 异步逻辑错误获取的底层逻辑 3.4 koa的错误获取逻辑 一.前言 大家可能都知道koa是express核心原班人马写的,那么他们为什么要在express后再造一个koa的轮子呢? 今天就给大家带来一些分析.希望能够起到一个抛砖引玉的作用. 其实,这个题目也可以这么问, express有什么缺点? koa解决了一些express的什么问题? 这也在一些面试题中会

  • node.js中路由,中间件,ge请求和post请求的参数详解

    一.路由 1.什么是路由 服务器需要根据不同的URL或请求来执行不一样的操作,我们可以通过路由来实现这个步骤 2.实现路由的方法 2.1.get请求访问网址时,做什么事 app.get("网址",function(req,res){ }); 2.2.post请求访问网址时,做什么事 app.post("网址",function(req,res){ }); 2.3.任何请求访问这个网址 app.all("网址",function(){ }); 注意

  • 浅谈nuxtjs校验登录中间件和混入(mixin)

    middleware - authLogin.js export default function ({ route, store, redirect, app, req, res }) { // store.state.auth.loggedIn 是否登录 // 权限页面检查登录状态 if (!store.state.auth.loggedIn) { store.commit('changeShowType', 'login'); // 展示登录框或者可以跳转登录页 const query =

  • nodejs express路由匹配控制及Router模块化使用详解

    目录 路由控制匹配 Router模块化路由 使用方式 对比app上的路由 总结 路由控制匹配 本文主要分析下express的核心功能路由的使用. express路由的匹配规则: 支持模糊匹配,同一个路由可能命中多个定义的路由 router.get("/user/*",(req,res,next)=>{ console.log("====demo====") }) router.get("/user/list",(req,res,next)=

  • 浅谈vue-router2路由参数注意的问题

    1.vue 路由 如果传递 params 定义路由的时候是 /路由名称:id 获取的时候 this.$route.params.id 最后形如 /路由名称/路由参数 传参的时候 params:{ str1:str1, str2:str2 } 2.如果传递query ?id=str.... 定义路由的时候直接是 /路由名称 获取的时候 this.$route.query.id 传参的时候 data:{ str1:str1, str2:str2 } 以上这篇浅谈vue-router2路由参数注意的问

  • express中static中间件的具体使用方法

    如果想要在输入url后直接访问服务端的静态文件,比如css.js.文件等,就需要知道这些静态文件的定位,在express框架中express.static中间件函数可以帮助我们实现. Staic是express内置中间件函数,服务于静态文件,基于静态服务.Staic函数封装在serve-static模块当中,serve-static模块抛出的serveStatic就是static方法. 上面注释说明了方法的作用,大概是说该中间件函数为给定根目录的文件提供服务,要服务的文件将通过将req.url与

随机推荐