Nodejs/Expressjs application de la structure
Dire que j'ai ce code pour séparer les routes en expressjs:
module.exports = function(express,app,client) {
app.get('/', function(req,res,next) {
var query = 'SELECT * FROM users LIMIT 10';
var user = client.query(query, function (err, results, fields) {
res.render('index', {
title: 'test',
users: results
});
client.end();
});
});
}
Et besoin dans l' app.js
:
require('./controllers/routes.js')(express,app,client);
1) Comment puis-je séparer les requêtes db dans de nouveaux fichiers de la meilleure façon?
Ce fichier doit être assez grand, même si je m'en sépare db logique.
2) Ce qui est un bon moyen de séparer les routes? Peut-être que les modules distincts? et puis besoin de tous dans app.js
?
Vous devez vous connecter pour publier un commentaire.
Il y a une question similaire ici que vous devez lire: Comment structurer un express.js application?
1) Toutes vos requêtes doivent être mis dans les modèles (les modules qui se trouvent dans /modèles par exemple)
2) de Séparer toutes vos itinéraires (contrôleurs) dans les modules (et les mettre dans /itinéraires pour les anciens)
Par des voies que je veux dire par exemple:
- de la logique pour les "Utilisateurs" itinéraires aller dans /routes/users.js
Essayer de vous garder application MVC-ish que possible.
Petit exemple pour votre application ci-dessus:
app.js
routes/index.js
models/users.js
require('./routes')(app);
?database.query(query, callback);
va accrocher le nœud de l'application? Je viens de codage quelque chose de similaire, mais mon approche est l'utilisation de certains événements. Mais je suis un peu nouveau sur le nœud, pas sûr, c'est que j'obtiens tous ce droit.sleep()
. En attendant, vous pouvez faire d'autres actions si vous voulez (plusieurs requêtes à la base de données, le traitement parallèle, etc). Si par "accrocher" tu veux dire que d'attendre le rappel pour être exécutée si, alors oui 🙂require('./routes/index')(app)
Dans le expressjs package de téléchargement, il y a un dossier appelé "mvc". L'auteur fournit un bon exemple pour un petit&efficace de la structure mvc. Passer par le code, vous obtiendrez beaucoup d'inspiration.
visionmedia/express
dans le répertoireexpress/examples/mvc
pour ceux qui sont intéressés par ce que j'étais.Comment sur express-train ? j'ai été en utilisant ces derniers temps, et il joue bien avec les complexes app structures.