Warum müssen die Exporte eines Moduls am Ende einer Datei deklariert werden?

8

Ich habe den folgenden redigierten Code:

%Vor%

Wenn ich an anderer Stelle zu require() diese Datei gehe, wird der Knoten abstürzen und sagen, dass das erforderliche Objekt keine Methode read oder write hat. Würde das variable Heben nicht die Funktionen oberhalb von modules.export = { ... }; ziehen?

    
Scott 21.05.2014, 19:06
quelle

1 Antwort

14

Dies ist die Syntax, mit der Sie Funktionen deklarieren, die aufgrund Funktionshows wichtig sind. Wenn Sie diese Funktionen wie folgt deklarieren, werden sie im Geltungsbereich "hochgezogen" und alles ist gut.

%Vor%

Hinweis: Benannte Funktionen wie in meinem Snippet sind im Gegensatz zu anonymen Funktionen, die Variablen wie in Ihrem Snippet zugewiesen sind, einfacher zu debuggen und zu profilieren, da ihr Name in Stack-Traces enthalten ist.

    
Peter Lyons 21.05.2014, 19:22
quelle

Tags und Links