Convenzione su dove dichiarare module.exports su file Javascript

9

C'è qualche convenzione in cui dovremmo dichiarare il module.exports nessun file del modulo Javascript / Node.js?

Dovrebbe essere all'inizio del file come:

module.exports = Foo;

function Foo() {
    this.bar = 'bar';
}

Foo.prototype.getBar = function() {
    return this.bar;
}

O dovrebbe essere alla fine del file:

function Foo() {
    this.bar = 'bar';
}

Foo.prototype.getBar = function() {
    return this.bar;
}

module.exports = Foo;

So che non ci sono differenze tecniche. Il primo esempio è perfettamente valido a causa della dichiarazione di sollevamento .

Quindi mi chiedevo se esistessero alcune buone pratiche.

    
posta Henrique Barcelos 12.01.2016 - 15:32
fonte

1 risposta

4

Ci sono certamente un sacco di opzioni, che sono tutte comunemente usate. Ma è terribilmente fastidioso. Mi piace metterlo alla fine, perché funziona in tutte le circostanze. Ogni volta che mi trovo a fare qualcosa di fantasia con module.exports, probabilmente c'è un modo migliore per farlo.

Soprattutto, come sempre, essere coerenti. E sii coerente nella tua squadra.

EDIT: Sulla stessa nozione, mi piace avere tutte le dichiarazioni require all'inizio. I miei file Node.js hanno sempre questo aspetto:

"use strict";

const fs = require("fs");
const MyClass = require("./MyClass");


class MyOtherClass extends MyClass {}

module.exports = MyOtherClass;

Niente di stravagante, proprio come te lo aspetteresti. Una classe per file, un file per classe. I file prendono il nome dalla classe che contengono, con consistenti maiuscole / minuscole. Dai un'occhiata a questo modulo del nodo, per alcuni esempi: yaioc (disclaimer: io sono l'autore, e questa è pubblicità spudorata)

    
risposta data 13.01.2016 - 19:24
fonte

Leggi altre domande sui tag