Das ist mein app.jsein Objekt zwischen app.js und Routen teilen y node.js
var express = require('express');
...
var model = require('./models/my_model');
var routes = require('./routes/index');
var app = express();
app.use('/', routes);
var middlewareBefore = function(req, res, next){
my_model.getName(function(err, result){
if(err){
console.log(err);
res.redirect('/error');
}else{
console.log(result);
next();
}
})
}
app.use(middlewareBefore);
...
module.exports = app;
und dies ist meine Routen/index.js Datei
var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next) {
res.render('login', { url: my_model.getUrl() });
});
module.exports = router();
Ich versuche, um aus der Routendatei auf my_model zuzugreifen. Ich habe bereits versucht, app.locals, res, req, res.locals und app.use ('/', routes) (my_model) zu verwenden, wie auf verschiedenen Fragen von dieser Seite zu sehen, aber keiner von ihnen scheint zu funktionieren. ., wenn die Verwendung von express.Router frage ich mich() wird dieses Problem zu schaffen (beachten Sie, dass die Middleware-Einstellung vor der Strecke hat das nicht lösen)
1. wie ich in der Frage sagte, das hat nicht funktioniert, 2. das ist, was ich eigentlich tue, aber ich frage mich, ob dies wäre wie eine neue Instanz erstellen (also wenn ich etwas zuvor in App eine andere Anforderung im Index zu machen ist nicht wie ein anderes Objekt aufzurufen?). 3. bitte erklären – amlibtest