Global middleware işlevimi, dokümanlar ve konuyla ilgili her forum gönderisinde açıklandığı şekilde yapılandırabildiğim kadarıyla, çağrılmıyor. Benim yanlış yaptığımı gören var mı? ifade 3.2.5. ardından "rota içinde",ekspres global middleware çağrılmayan
Express server listening on port 9000
inside route
GET/200 7ms - 2b
Ben "katman içinde" görmeyi beklediğiniz: Günlük çıktısında aşağıdaki bakın. Bunun yerine, sadece "rota içinde" görüyorum.
kodu:
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'));
});
Bu, ilgili mesaj:
Express 3 error middleware not being called
ara katman hata işleme özgüdür. Benimki bir vanilya aracıdır.
Gerekiyor ("yol") ' –
Teşekkürler - çalışma örneğinde yol gereklidir. İhtiyaç ifadelerini postada el ile ekledim (ve şimdi gönderiye yeni eklenen yol). Yol gerekli değilse, kod basitçe patlayacaktır. – Jake
App.router kullanmadan önce bu middleware koyun. – user568109