Node js objet exportations
Ai une question assez simple à laquelle je ne peux pas trouver une réponse au sujet de l'exportation d'un objet de la forme d'un module Node js, plus spécifiquement l'accès aux propriétés des objets.
Voici mon objet, je l'exportation:
exports.caravan = {
month: "july"
};
Et voici mon module principal:
var caravan = require("./caravan")
console.log(caravan.month);
console.log(caravan.caravan.month);
Pourquoi ne puis-je pas accéder aux propriétés directement avec la caravane.mois, mais avoir à écrire de la caravane.la caravane.mois?
"Si c'était caravane être une fonction, je n'avais qu'à l'appeler avec la caravane()" – non, vous ne le pouvait pas.
Vous avez raison, je ne pouvais pas, il serait de la caravane.caravane().
Vous avez raison, je ne pouvais pas, il serait de la caravane.caravane().
OriginalL'auteur MustSeeMelons | 2016-07-09
Vous devez vous connecter pour publier un commentaire.
Considérer que
require
, vous accédez à lamodule.exports
objet d'un module (qui est un alias deexports
, mais il y a quelques subtilités à l'aide deexports
qui permettent à l'aidemodule.exports
un meilleur choix).De prendre votre code:
Qui est similaire à ceci:
Qui est similaire à ceci:
Si nous avons la même façon de "traduire" les
require
, par la substitution avec le contenu demodule.exports
, votre code devient:Ce qui explique pourquoi vous devez utiliser des
caravan.caravan.month
.Si vous souhaitez supprimer le niveau supplémentaire d'indirection, vous pouvez l'utiliser dans votre module:
OriginalL'auteur robertklep
Si vous voulez obtenir via
caravan.month
alors:module.exports = { /* ... */ }
.OriginalL'auteur Arun Ghosh
Si vous souhaitez obtenir l'objet, l'utilisation
et obtenir ensuite comme ceci:
Vous pouvez également vérifier:
OriginalL'auteur Ravi Teja