Node.js Express.js插入中间件输出错误

Node.js Express.js插入中间件输出错误,node.js,express,connect,middleware,Node.js,Express,Connect,Middleware,我正在使用express.js服务器,并尝试向应用程序实例注入中间件 app.configure(function() { app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express["static"](PUBLIC_PATH)); }); hello = function(req, res, next) { console.log("he

我正在使用express.js服务器,并尝试向应用程序实例注入中间件

app.configure(function() {
 app.use(express.bodyParser());
 app.use(express.methodOverride());
 app.use(app.router);
 app.use(express["static"](PUBLIC_PATH));
});

hello = function(req, res, next) {
 console.log("hello world");
 next();
};

app.configure('development', function() {
 app.use(hello());
 app.use(express.errorHandler({
 dumpExceptions: true,
 showStack: true
 }));
});
我正在尝试将
Hello()
函数插入到当前的
app
实例中。但当我从控制台运行代码时,它返回“hello world”,但控制台中也有一些错误。我哪里做错了

hello world

/Users/mma/Desktop/mustdelete/aaron/server/app.coffee:13
  return next();
         ^
TypeError: undefined is not a function
at Object.module.exports.exports.hello (/Users/mma/Desktop/mustdelete/aaron/server/app.coffee:13:14)
at Function.module.exports.app.configure.app.set.layout (/Users/mma/Desktop/mustdelete/aaron/server/app.coffee:16:30)
at Function.app.configure (/Users/mma/Desktop/mustdelete/aaron/node_modules/express/lib/application.js:395:61)
at module.exports (/Users/mma/Desktop/mustdelete/aaron/server/app.coffee:15:9)
at Object.<anonymous> (/Users/mma/Desktop/mustdelete/aaron/server/index.js:2:34)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.runMain (module.js:492:10)
你好,世界
/Users/mma/Desktop/mustdelete/aron/server/app.coffee:13
返回next();
^
TypeError:undefined不是函数
在Object.module.exports.exports.hello(/Users/mma/Desktop/mustdelete/aron/server/app.coffee:13:14)
在Function.module.exports.app.configure.app.set.layout(/Users/mma/Desktop/mustdelete/aron/server/app.coffee:16:30)
在Function.app.configure(/Users/mma/Desktop/mustdelete/aron/node_modules/express/lib/application.js:395:61)
在module.exports(/Users/mma/Desktop/mustdelete/aron/server/app.coffee:15:9)
反对。(/Users/mma/Desktop/mustdelete/aaron/server/index.js:2:34)
在模块处编译(Module.js:449:26)
在Object.Module._extensions..js(Module.js:467:10)
在Module.load(Module.js:356:32)
在Function.Module.\u加载(Module.js:312:12)
位于Module.runMain(Module.js:492:10)

您不必传递函数的返回值(带括号)
hello()
,只需传递函数的名称(不带括号),
app。使用(hello)
您不必传递函数的返回值(带括号)
hello()
,只需传递函数的名称(不带括号),
app.use(您好)

它确实会删除错误消息,但CLI中没有打印console.log消息。它确实会删除错误消息,但CLI中没有打印console.log消息。