Existe alguma convenção para onde devemos declarar os module.exports
arquivos do módulo sem Javascript / Node.js?
Deve estar no começo do arquivo, como:
module.exports = Foo;
function Foo() {
this.bar = 'bar';
}
Foo.prototype.getBar = function() {
return this.bar;
}
Ou deveria estar no final do arquivo:
function Foo() {
this.bar = 'bar';
}
Foo.prototype.getBar = function() {
return this.bar;
}
module.exports = Foo;
Eu sei que não há diferença técnica. O primeiro exemplo é perfeitamente válido devido ao levantamento da declaração .
Então, eu estava pensando se há algum tipo de prática recomendada.
javascript
modules
Henrique Barcelos
fonte
fonte
var Foo = function()...
), e ainda outra maneira de declarar isso é diretamente (module.exports.Foo = function()...
).var Foo = function Foo()...
e iria funcionar também.Respostas:
Certamente existem muitas e muitas opções, que são comumente usadas. Mas isso é terrivelmente irritante. Eu gosto de colocar no final, porque isso funciona em todas as circunstâncias. Sempre que me vejo fazendo algo sofisticado com o module.exports, provavelmente existe uma maneira melhor de fazê-lo.
Mais importante, como sempre, seja consistente. E seja consistente em sua equipe.
EDIT: Na mesma noção, eu gosto de ter todas as
require
declarações no início. Meus arquivos Node.js sempre ficam assim:Nada extravagante, do jeito que você esperaria. Uma classe por arquivo, um arquivo por classe. Arquivos com o nome da classe que contêm, com maiúsculas / minúsculas. Dê uma olhada neste módulo do nó, para alguns exemplos: yaioc (isenção de responsabilidade: eu sou o autor e isso é publicidade sem vergonha)
fonte