Czy istnieje jakaś konwencja, w której powinniśmy zadeklarować module.exports
pliki modułów bez Javascript / Node.js?
Powinien być na początku pliku, na przykład:
module.exports = Foo;
function Foo() {
this.bar = 'bar';
}
Foo.prototype.getBar = function() {
return this.bar;
}
A może powinien znajdować się na końcu pliku:
function Foo() {
this.bar = 'bar';
}
Foo.prototype.getBar = function() {
return this.bar;
}
module.exports = Foo;
Wiem, że nie ma różnicy technicznej. Pierwszy przykład jest całkowicie poprawny z powodu podnoszenia deklaracji .
Zastanawiałem się więc, czy istnieją jakieś najlepsze praktyki.
javascript
modules
Henrique Barcelos
źródło
źródło
var Foo = function()...
), a jeszcze innym sposobem deklarowania go jest bezpośrednio (module.exports.Foo = function()...
).var Foo = function Foo()...
i to też by działało.Odpowiedzi:
Z pewnością istnieje wiele opcji, z których wszystkie są powszechnie używane. Ale to strasznie denerwujące. Lubię to na końcu, bo to działa w każdych okolicznościach. Za każdym razem, gdy robię coś wymyślnego z module.exports, prawdopodobnie istnieje lepszy sposób, aby to zrobić.
Co najważniejsze, jak zawsze, bądź konsekwentny. I bądź konsekwentny w swoim zespole.
EDYCJA: Z tego samego punktu widzenia lubię mieć wszystkie
require
wypowiedzi na początku. Moje pliki Node.js zawsze wyglądają tak:Nic szczególnego, tak, jak byś się tego spodziewał. Jedna klasa na plik, jeden plik na klasę. Pliki nazwane na podstawie klasy, którą zawierają, o jednolitej górnej / dolnej części. Spójrz na ten moduł węzła, na kilka przykładów: yaioc (zrzeczenie się: jestem autorem, a to jest bezwstydna reklama)
źródło