Existe-t-il une convention pour déclarer les module.exports
fichiers de module sans Javascript / Node.js?
Doit-il être au début du fichier comme:
module.exports = Foo;
function Foo() {
this.bar = 'bar';
}
Foo.prototype.getBar = function() {
return this.bar;
}
Ou devrait-il être à la fin du fichier:
function Foo() {
this.bar = 'bar';
}
Foo.prototype.getBar = function() {
return this.bar;
}
module.exports = Foo;
Je sais qu'il n'y a pas de différence technique. Le premier exemple est parfaitement valable en raison du levage de déclaration .
Je me demandais donc s'il y avait une sorte de meilleures pratiques.
javascript
modules
Henrique Barcelos
la source
la source
var Foo = function()...
), et encore une autre façon de le déclarer est directement (module.exports.Foo = function()...
).var Foo = function Foo()...
et ça marcherait aussi.Réponses:
Il y a certainement beaucoup, beaucoup d'options, qui sont toutes couramment utilisées. Mais c'est terriblement ennuyeux. J'aime le mettre à la fin, car cela fonctionne en toutes circonstances. Chaque fois que je me retrouve à faire quelque chose d'extraordinaire avec module.exports, il y a probablement une meilleure façon de le faire.
Surtout, comme toujours, soyez cohérent. Et soyez cohérent dans votre équipe.
EDIT: Sur la même notion, j'aime avoir toutes les
require
déclarations au début. Mes fichiers Node.js ressemblent toujours à ceci:Rien d'extraordinaire, juste comme vous vous y attendriez. Une classe par fichier, un fichier par classe. Fichiers nommés d'après la classe qu'ils contiennent, avec des majuscules / minuscules. Jetez un oeil à ce module de nœud, pour quelques exemples: yaioc (avertissement: je suis l'auteur, et c'est de la publicité sans vergogne)
la source