Theo tôi có thể nói tôi đang định cấu hình chức năng trung gian toàn cầu của mình như được mô tả trong tài liệu và trong mọi bài đăng trên diễn đàn, nhưng nó không được gọi. Có ai nhìn thấy những gì tôi đang làm sai? thể hiện 3.2.5. Trong bản ghi đầu ra, tôi thấy như sau:thể hiện phần mềm trung gian toàn cầu không được gọi là
Express server listening on port 9000
inside route
GET/200 7ms - 2b
Tôi hy vọng sẽ thấy "bên trong middleware", sau đó "bên trong tuyến đường". Thay vào đó, tôi chỉ thấy "bên trong tuyến đường".
Mã:
var express = require('express'), http=require('http'), path=require('path');
var app = express();
app.enable('trust proxy');
app.set('port', process.env.PORT || 9000);
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.set('layout', 'layout');
app.use(require('express-ejs-layouts'));
app.use(express.favicon(__dirname + '/public/images/favicon.ico'));
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride())
app.use(express.cookieParser('kfiwknks'));
app.use(express.session());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
if ('development' == app.get('env')) {
app.use(express.errorHandler());
} else {
app.use(function(err, req, res, next){
console.error (error);
res.send (500, "Internal server error");
});
}
app.use (function (req, res, next) {
console.log ("inside middleware");
next();
});
app.get ("/", function (req, res) {
console.log ("inside route");
res.send(200);
});
http.createServer(app).listen(app.get('port'), function() {
console.log('Express server listening on port ' + app.get('port'));
});
bài liên quan này:
Express 3 error middleware not being called
là cụ thể trong kiểm soát lỗi middleware. Mine là một phần mềm trung gian vani.
Bạn cần 'require (" path ")' –
Cảm ơn - đường dẫn được yêu cầu trong ví dụ làm việc. Tôi đã thêm câu lệnh yêu cầu bằng tay trong bài đăng (và thêm đường dẫn ngay bây giờ vào bài đăng). Nếu đường dẫn không được yêu cầu, mã sẽ đơn giản phát nổ. – Jake
Đặt phần mềm trung gian đó trước khi bạn sử dụng app.router – user568109