【发布时间】:2014-08-07 04:03:16
【问题描述】:
在升级到 Express 4 并删除 app.router 之后,我正在努力让中间件在路由执行后执行。
例如以下代码正确响应“hello”,但从不调用配置的中间件
var express = require( "express" )();
express.get( "/", function( req, res ) {
res.send( "hello" );
} );
express.use( function( req, res, next ) {
console.log( "world" );
next();
} );
express.listen( 8888 );
澄清:
以下代码在控制台上显示“之前”,而不是“之后”:
var express = require( "express" )();
express.use( function( req, res, next ) {
console.log( "before" );
next();
} );
express.get( "/", function( req, res ) {
res.send( "hello" );
} );
express.use( function( req, res, next ) {
console.log( "after" );
next();
} );
express.listen( 8888 );
【问题讨论】:
-
为我工作。什么不适合你。
-
我从来没有看到 console.log 输出
-
在 node.js 命令行中为我显示。你有额外的代码吗?
-
不,就是这样。你运行的是什么版本的快递? (我在 4.4)
-
我的是 4.4.3。试试看。
标签: node.js express middleware express-4