Je joue avec node.js depuis un moment, et j'ai vraiment compris à quel point c'est génial. Cependant, une chose que j'ai du mal à comprendre, c'est comment je devrais structurer mon code pour qu'il puisse être maintenu. La plupart des tutoriels que j'ai vu sur Internet ont tous les JS dans un seul fichier, ce qui n'est pas une bonne façon de gérer votre code. Je suis conscient qu'il n'existe pas de "classe" en javascript, mais existe-t-il un moyen (standard) pour formater mon code pour la maintenabilité de la même manière que je structurerais un projet PHP, par exemple ?Comment structurer le code de nodejs correctement
Répondre
Autant que je sache, vous pouvez utiliser require
pour inclure vos propres fichiers js (contenant des méthodes exportées) en utilisant:
var req = require('./someJsFile');
Dans someJsFile.js
vous pouvez exporter des méthodes comme celle-ci:
exports.someMethod = function(){ /*...*/ };
Et dans votre fichier principal vous pouvez adresser une telle méthode en utilisant req.someMethod()
Ainsi, vous pouvez diviser votre code en différents fichiers nt, que vous require
à partir d'un certain fichier js central.
Here is an article expliquant Node.js require
Après avoir appris comment exiger que les travaux dans Node.js (assez simple), comme le suggère Kooilnc
Vous pouvez jeter un oeil au code source des modules disponibles pour Node.js:
https://github.com/joyent/node/wiki/modules
Si vous prévoyez d'utiliser express (un des le cadre de Node.js plus robuste là-bas) pour développer votre premier noeud applications, vous pouvez jeter un oeil à ses échantillons spécifiques ici:
https://github.com/visionmedia/express/tree/master/examples (il y a aussi un échantillon mvc)
J'ajoute que dans la mesure où la maintenabilité va, je crois que le style typique de profondément nichant Les rappels utilisant des fermetures sont le plus grand obstacle à la compréhensibilité des programmes Node, tout en étant complètement inutile.
Pour tous:
a.doSomething(val, function(err,result){
b.doSomethingElse(result,function(err,res){
...
});
});
Il y a toujours un:
a.doSomething(val, onDoSomething);
function onDoSomething(err,res) {
...
}
Ma règle de base est: une nouvelle fonction de rappel non-fermeture est nécessaire pour quoi que ce soit sur trois niveaux d'imbrication.
(Node.js a vraiment besoin d'un manuel de style.)
- 1. Comment puis-je structurer correctement mon code NodeJS, Express et MongoDB?
- 2. Comment mieux structurer le code Javascript multilingue?
- 3. Comment structurer des modèles et des vues dans NodeJS?
- 4. structurer ma table mysql correctement
- 5. Comment structurer le code/les cadres dans Flash
- 6. Comment déboguer ce code nodejs?
- 7. Cadre pour structurer le code JS existant
- 8. Comment puis-je mieux structurer ce code?
- 9. Comment dois-je structurer mon code TCL?
- 10. Comment structurer le code réutilisé entre les modules
- 11. Comment structurer une application correctement sur les processus d'arrière-plan
- 12. Comment structurer le callback javascript pour que la portée de la fonction soit correctement entretenue
- 13. question javascript de structurer correctement, css, et svg
- 14. structurer correctement un htaccess avec plusieurs règles/conds
- 15. LESS - structurer le document
- 16. Comment utiliser correctement% USERPROFILE% dans le code?
- 17. Comment enregistrer correctement un tableau d'objets avec mongoose + nodejs?
- 18. Comment structurer idiomatiquement JavaScript
- 19. Comment structurer correctement le projet python SQLAlchemy (style déclaratif) et ses unités unitaires
- 20. Comment structurer mon application Android
- 21. ASP.NET MVC Entity framework comment structurer ce code
- 22. exécuter un script shell dans nodejs le code
- 23. exécuter plusieurs commandes de terminal dans le code nodejs
- 24. Comment structurer un CMS?
- 25. comment structurer ce menu
- 26. Comment structurer le site Ruby on Rails
- 27. Comment structurer le contenu des EJB
- 28. Fonctions fréquentes: comment structurer?
- 29. Comment structurer le projet Node/Angular/Socket.io?
- 30. Comment structurer le code lors de la connexion à des bases de données
Je vous appuie totalement sur le manuel de style. Je vais le suggérer sur la mailinglist! –