首页 > 学院 > 开发设计 > 正文

express之middleware

2019-11-08 19:27:51
字体:
来源:转载
供稿:网友
var exPRess = require('express');var path = require("path");var app = express();app.set('views', './views');app.set('view engine', 'pug');//通过app.use使用中间件,在接收到请求后,按中间件定义顺序依次执行,除非发生异常或者通过res.end完成响应。/*中间件是一个函数,分为两类,常规中间件和错误处理中间件常规中间件有两个或者三个参数,分别是req,res,[next],其中next可省略错误处理中间件有四个参数,分别是err, req, res, next,其中next不可省略在执行过程中发生异常或者next调用时传入一个参数将会执行错误处理中间件。无论错误处理中间件还是常规中间件,都可以通过next继续向下传递。*/app.use(function(req, res, next) {    console.log("Request ip: " + req.url);    console.log("Request date: " + new Date());    next();});var staticPath = path.join(__dirname, "static");app.use(express.static(staticPath));app.use(function(req, res) {    res.status(404);    res.send("File not found!");});//log the error.app.use(function(err, req, res, next){    console.log(err.message);    next();});//错误处理中间件,当以上某中间件发生异常或者在next调用中传入参数,则会进入错误处理中间件。app.use(function(err, req, res, next) {    res.status(500);    res.send("Internal server error.");});app.listen(80, function() {    console.log("App started on port 80");});
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表