Express 中间件
Express 是个功能极简,完全是由路由和中间件构成一个的web开发框架:从本质上来说,一个Express应用就是在调用各种中间件
执行任何代码。修改请求和响应对象。终结请求-响应循环调用堆栈中的下个中间件。应用级中间件中间件是一个函数,它可以访问请求对象,响应对象,和web应用中处于请求-响应循环流程中的中间件,一般被命名为next的变量中间件的功能包括:
应用级中间件绑定到app对象app.use()和app.METHOD(),其中METHOD是需要处理的HTTP请求的方法。
路由级中间件路由级中间件和应用级中间件一样,只是它绑定的对象为exress.Router().
var router=express.Router();
错误处理中间件错误处理中间件和其他中间件定义类似,只是要使用4个参数,而不是3个,其签名如下:(err,req,res,next).
app.use(function(err,req,res,next){ console.error(err.stack); res.status(500).send('Something broke!');})
内置中间件 express.static(root,[options])express.static是express唯一内置的中间件。它基于server-static,负责在Express应用中提托管静态资源参数root提供静态资源的根目录。可选的options参数拥有如下属性
dotfiles:是否对外输出文件名以点(.)开头的文件。可选值为“allow”、“deny”和“ignore”etag:是否启用etag生成extensions:设置文件扩展名备份选项index:发送目录索引文件,设置为false禁用目录索引。lastModified:设置Last-Modified头为文件在操作系统上的最后修改日趋。可能值为true或false。maxAge:以毫秒或者其字符串格式设置Cache-Control头的max-age属性redirec:当路径为目录时,重定向至"/"。setHeaders:设置HTTP头以提供文件的函数var options={ dotfiles: 'ignore', etag:false, extensions:['htm','html'], index:false, maxAge:'id', redirect:false, setHeaders:function(res,path,stat){ res.set('x.timestamp',Date.now()); }}app.use(express,static('public',options));
第三方中间件通过npm 安装第三方中间件
$ npm install cookie-parser
var express=require('express');var app=express();var cookieParser=require('cookie-parser');///加载用于解析cookie的中间件app.use(cookieParser());
中间件是什么
其实就是一个个的函数, 当调用 next 时, 才会执行下一个中间件函数 express 是一个自 身功能极简,完全是路由和中间件。
构成一个 web 开发框架:从本质上来说,一个 express 应用就是在调用各种中间件函数。封装了一些或许复杂但肯定是通用的功能,非内置的中间件需要通过安装后,require 到文件就可以运行。
上一篇:Y450A阉割版是什么意思哦?
下一篇:“抗压”是什么意思?
发表评论