Есть ли соглашение о том, где мы должны объявлять module.exports
файлы модулей no Javascript / Node.js?
Должно ли это быть в начале файла, как:
module.exports = Foo;
function Foo() {
this.bar = 'bar';
}
Foo.prototype.getBar = function() {
return this.bar;
}
Или это должно быть в конце файла:
function Foo() {
this.bar = 'bar';
}
Foo.prototype.getBar = function() {
return this.bar;
}
module.exports = Foo;
Я знаю, что технической разницы нет. Первый пример совершенно корректен из-за объявления декларации .
Поэтому мне было интересно, есть ли какие-то лучшие практики.
javascript
modules
Энрике Барселуш
источник
источник
var Foo = function()...
), и еще один способ объявить это напрямую (module.exports.Foo = function()...
).var Foo = function Foo()...
и это сработало бы.Ответы:
Конечно, есть множество опций, которые обычно используются. Но это ужасно раздражает. Мне нравится ставить это в конце, потому что это работает при любых обстоятельствах. Всякий раз, когда я обнаруживаю, что занимаюсь чем-то необычным с module.exports, возможно, есть лучший способ сделать это.
Самое главное, как всегда, быть последовательным. И будьте последовательны в своей команде.
РЕДАКТИРОВАТЬ: С той же точки зрения, я хотел бы, чтобы все
require
заявления в начале. Мои файлы Node.js всегда выглядят так:Ничего особенного, просто так, как вы ожидаете. Один класс на файл, один файл на класс. Файлы, названные в честь класса, который они содержат, с согласованным верхним / нижним регистром. Взгляните на этот модуль узла, вот несколько примеров: yaioc (заявление об отказе: я автор, а это бесстыдная реклама)
источник