Im Express docs, heißt es:Was ist der Unterschied zwischen Application- und Router-Level - Middleware beim Routing in Express?
Anwendungsebene Middleware wird auf eine Instanz ausdrücklich gebunden, app.use mit() und app.VERB().
Router-Level-Middleware funktioniert genauso wie Middleware auf Anwendungsebene, außer dass sie an eine Instanz von
express.Router()
gebunden sind. Das im obigen Beispiel auf Anwendungsebene erstellte Middleware-System kann mit dem folgenden Code auf Router-Ebene repliziert werden.
In der App vom Generator Express zur Verfügung gestellt, die ich in der Haupt app.js
sehen, gibt es:
var routes = require('./routes/index');
app.use('/', routes);
Und in ./routes/index.js
, sehe ich:
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
module.exports = router;
Was das ist Zweck von app.use
übergibt es an router.get
anstatt einfach app.get
zu verwenden? Und im Allgemeinen, was ist der Unterschied zwischen app.VERB
und router.VERB
in Bezug auf Routing?
So 'express.Router()' und 'app = express()' das gleiche Objekt sein? –