Entschuldigung für das Spammen Ihrer Frage, aber ich brauche eine ähnliche Lösung für meine App. Es wäre wunderbar, Layouts in routes.js zu definieren, also würde zum Beispiel/admin/* ein Layout verwenden, und z./app/* würde das andere verwenden, usw. Weil es ein Pita ist, tauchen Sie in die Controller ein und überlagern Sie sie mit statischen Layoutpfaden. Ich habe versucht, dieses Konzept, aber es scheint nur zu arbeiten, wenn ich einen Controller in den routes.js Konfigurationsdatei zB auch definieren:
module.exports.routes = {
'/admin/*' : {
controller: 'AdminController',
action: 'index',
locals: {
layout: 'admin/layout'
}
}
};
Dies funktioniert, aber routet alle Aktionen für den Admin in den gleichen Controller Das ist natürlich falsch. Wenn ich den Controller Teil weglassen, wird das Konzept mit immer die Standardansicht/layout.ejs und die lokale ist nicht gesetzt:
module.exports.routes = {
'/admin/*' : {
locals: {
layout: 'admin/layout'
}
}
};
Dies funktioniert nicht, aber es wäre ideal, es auf diese Weise zu erhalten.
Ich versuche, dies scheint aber wie es funktioniert nicht. Dies ist mein Code: 'module.exports = { \t Index: function (req, res) { \t \t res.view ({ \t \t _layoutFile:‘ ../layoutadmin.ejs' \t \t}); \t} } ' – anhnt
Was ist der Fehler, den Sie haben? – bredikhin
Es rendert immer das Standardlayout, das ich in config/views.js definiert habe. – anhnt