Je veux me séparer de mes itinéraires dans des fichiers différents, où l'un fichier qui contient toutes les routes et l'autre que les actions correspondantes. J'ai actuellement une solution pour faire cela j'ai besoin de faire l'application de l'instance mondiale pour être en mesure d'y accéder dans les actions. Mon installation actuelle ressemble à ceci:
app.js:
var express = require('express');
var app = express.createServer();
var routes = require('./routes');
var controllers = require('./controllers');
routes.setup(app, controllers);
app.listen(3000, function() {
console.log('Application is listening on port 3000');
});
routes.js:
exports.setup = function(app, controllers) {
app.get('/', controllers.index);
app.get('/posts', controllers.posts.index);
app.get('/posts/:post', controllers.posts.show);
// etc.
};
controllers/index.js:
exports.posts = require('./posts');
exports.index = function(req, res) {
// code
};
controllers/posts.js:
exports.index = function(req, res) {
// code
};
exports.show = function(req, res) {
// code
};
Cependant, cette configuration a un gros problème: j'ai une base de données et une application-exemple j'ai besoin de passer à l'action (contrôleurs/*.js). La seule option que je pouvais penser, c'est de faire les deux variables globales, ce qui n'est pas vraiment une solution. Je veux séparer les itinéraires des actions parce que j'ai beaucoup de routes et que vous voulez les dans un endroit central.
Quelle est la meilleure façon de passer des variables à l'action, mais de séparer les actions de la routes?