在Node.js / Express中连接中间件

以下是Node.js / Express Web服务器的简单示例:
var express = require('express');
var app = express();

app.get('/*',function(req,res){
   res.end('Hello,you requested ' + req.url + '.');
});

app.listen(3000);

当它运行时,请求http:// localhost:3000 / Hello-world将生成响应

Hello,you requested /Hello-world.

要了解中间件,我想重新实现这个服务器,但是使用中间件“获取数据”,“操纵数据”和“输出数据”包含在单独的函数中.我试过跟随,但是对于这个代码,请求http:// localhost:3000 / Hello-world没有响应.只有app.get(..)代码似乎执行.

var express = require('express');
var app = express();

// Step 1: get input
app.get('/*',res){
   req['testing'] = req.url;
});

// Step 2: manipulate data
app.use('/*',res,next) {
   req['testing'] = 'Hello,you requested ' + req['testing'];
   return next();
});

// Step 3: send output  
app.use('/*',next) {
    res.end(req['testing']);
    return next();
});

app.listen(3000);

似乎缺少将功能连接在一起的东西?

解决方法

//This needs to be MIDDLEWARE not a route handler
// Step 1: get input
app.use(function(req,next){
   req.testing = req.url;
   next();
});

// Step 2: manipulate data
app.use(function(req,next) {
   req.testing = 'Hello,you requested ' + req.testing;
   next();
});

// Step 3: send output  
app.get('/*',res) {
    res.end(req.testing);
});

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...