नहीं कहा जा रहा है, जहां तक मैं कह सकता हूं कि मैं दस्तावेज़ों में वर्णित अनुसार और विषय पर प्रत्येक फोरम पोस्ट में बताए गए अपने वैश्विक मिडलवेयर फ़ंक्शन को कॉन्फ़िगर कर रहा हूं, लेकिन इसे नहीं कहा जा रहा है। क्या कोई देखता है कि मैं क्या गलत कर रहा हूं? एक्सप्रेस 3.2.5। लॉग आउटपुट में मैं निम्नलिखित देखता हूं:एक्सप्रेस ग्लोबल मिडलवेयर को
Express server listening on port 9000
inside route
GET/200 7ms - 2b
मुझे "अंदरूनी मिडलवेयर", फिर "मार्ग के अंदर" देखने की उम्मीद है। इसके बजाय, मैं बस "मार्ग के अंदर" देखता हूं।
कोड:
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'));
});
यह संबंधित पोस्ट:
Express 3 error middleware not being called
मिडलवेयर से निपटने त्रुटि के लिए विशिष्ट है। मेरा एक वेनिला मिडलवेयर है।
आपको '("पथ") की आवश्यकता है ' –
धन्यवाद - कार्य उदाहरण में पथ आवश्यक है। मैंने पद में हाथ से आवश्यक बयानों को जोड़ा (और अभी पोस्ट में जोड़ा गया पथ)। यदि पथ की आवश्यकता नहीं थी, तो कोड बस उड़ाएगा। – Jake
ऐप का उपयोग करने से पहले उस मिडलवेयर को रखें .router – user568109