我的app.js中有以下代码
'use strict';
var SwaggerExpress = require('swagger-express-mw');
var app = require('express')();
module.exports = app; // for testing
var config = {
appRoot: __dirname // required config
};
SwaggerExpress.create(config, function(err, swaggerExpress) {
console.log("Web Server started.");
if (err) { throw err; }
// install middleware
swaggerExpress.register(app);
app.use(function(err, req, res, next) {
console.log('caught it!');
dosomething();
});
var port = process.env.PORT || 10010;
app.listen(port);
});
我的控制器hello_world.js
function hello(req, res) {
throw new Error('my error!');
}
当我将应用程序和浏览器启动到http://localhost:10010/hello时,会返回500响应并显示我的错误消息。但是,错误处理中间件根本没有被调用。有什么想法吗?
答案 0 :(得分:4)
如果您从default.yaml
删除默认配件,它将起作用。