浅探express路由和中间件的实现
1. Express简介
express是一个基于node.js平台的极简,灵活的web应用开发框架,它提供一系列强大的特征,帮助你创建各种web和移动设备应用
express框架核心特征:
- 可以设置中间件来响应HTTP请求
- 定义了路由表用于执行不同的HTTP请求动作(url=资源)映射
- 可以通过向模板传递参数来动态渲染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表示让后面中间件继续处理
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
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与
随机推荐
- Python的print用法示例
- JavaScript继承学习笔记【新手必看】
- 将JSON字符串转换成Map对象的方法
- C#探秘系列(一)——ToDictionary,ToLookup
- 在ASP.NET 2.0中操作数据之五十一:从GridView的页脚插入新记录
- 深入PHP获取随机数字和字母的方法详解
- ASP中CINT和INT的区别
- C/C++中的mem函数和strcopy函数的区别和应用
- 创建一个实现Disqus评论模版的MySQL模型
- sysbench-0.4.12编译安装和CPU测试例子分享
- 取得单条网站评论以数组形式进行输出
- 始终在屏幕中间显示Div的代码(css+js)
- CSS hack浏览器兼容一览表
- 使用ruby部署工具mina快速部署nodejs应用教程
- jquery如何实现在加载完iframe的内容后再进行操作
- Bootstrap轮播插件简单使用方法介绍
- Windows 2000 server光盘启动安装过程详细图解
- 纯C语言:折半查找源码分享
- JAVA通过HttpURLConnection 上传和下载文件的方法
- Android开发笔记之:ListView刷新顺序的问题详解