2016-06-17 19 views
0

Ich lese über module.exports in Node.js Design Patterns. In diesem Buch wird erwähnt, dass:Wert zu module.exports zuweisen

Reassigning der Export-Variable hat keine Auswirkungen, da es den Inhalt von module.exports nicht ändert, wird es nur die Variable selbst neu zuweisen.

Der folgende Code ist daher falsch:

exports = function() { 
    console.log('Hello'); 
}; 

Ich bin zu verstehen, nicht in der Lage, warum die obige Zuordnung falsch ist?

Antwort

0

Sie überschreiben die lokale exports Variable, indem Sie dies tun. Welche ist lokal für die wrapper function um jede Node.js-Datei. Es gibt jetzt eine Möglichkeit für V8 zu wissen, welche Änderung Sie an dem ursprünglichen Objekt exports vorgenommen haben, als Sie ein neues Objekt verwenden.

Was Sie wollen, überschreiben Sie den exports Schlüssel im module Objekt.

module.exports = function() { 
    console.log('Hello'); 
}; 

Für mehr Komfort können Sie auch auf die exports Variablen zuweisen, so dass Sie es lokal nutzen können: module.exports = exports = .... Das ist wirklich was exports ist, eine schnellere Möglichkeit, auf module.exports zuzugreifen.

Verwandte Themen