Maison > interface Web > js tutoriel > Une compréhension simple des modules nodejs (avec des exemples)

Une compréhension simple des modules nodejs (avec des exemples)

不言
Libérer: 2019-03-29 09:19:54
avant
2268 Les gens l'ont consulté

Cet article vous apporte une compréhension simple du module nodejs (avec des exemples). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Ce court article permet de comprendre rapidement le module nodejs (c'est-à-dire la spécification CommonJS).

Essence

module.exports est utilisé pour exposer une valeur. Cette valeur est un objet par défaut et peut également être écrasée comme valeur d'origine.

Essayez de consigner directement la valeur du module dans un fichier, vous pouvez obtenir :

{
  id: '.',
  exports: {}, // 默认空对象
  parent: null,
  filename: '/Users/a10.12/webpack-learning/src/module.js',
  loaded: false,
  children: [],
  paths:
   [ '...' ]
}
Copier après la connexion

Vous devez sortir ce que vous devez sortir en modifiant l'attribut exports du module, et require est utilisé Lors de l'importation d'un module, quelle est la valeur de module.exports est ce que require obtient.

Utilisez

Par exemple, il y a module.js

module.exports = {
  s: 2,
}
Copier après la connexion

et introduisez

let v = require('./module.js')

console.log(v) // 输出为 { s: 2 }
Copier après la connexion

valeur originale. dans index.js Il en va de même pour

module.exports = 2

let v = require('./module.js')

console.log(v) // 输出为 2
Copier après la connexion

Comme module.exports est un objet par défaut, il existe naturellement une telle façon d'écrire l'objet lors de l'exportation :

module.exports.s = 2
Copier après la connexion

De cette façon, require obtient également { s: 2}.

Abréviation

Les patrons ont probablement estimé que module.exports était trop long à écrire, ils ont donc fait référence aux exportations vers module.exports, alors vérifiez si ces deux choses sont égales . Quand, return true :

console.log(exports === module.exports) // true
Copier après la connexion

Avec cette fonctionnalité, vous pouvez facilement écrire comme ceci lors de l'exportation d'objets :

exports.s = 2

let v = require('./module.js')

console.log(v) // 输出为 2
Copier après la connexion

Mais vous ne pouvez pas écrire comme ceci :

// 这样
exports = 2
// 或这样
exports = {
  s: 2,
}
// 都是不可以的

let v = require('./module.js')

console.log(v) // 输出为 {}
Copier après la connexion

La raison est comme mentionné ci-dessus, les exportations sont à l'origine juste une référence à module.exports. Vous pouvez ajouter des attributs à l'objet référencé, mais une fois que les deux méthodes ci-dessus sont utilisées pour écraser la référence des exportations vers le module. exportations, les exportations équivaut à invalide.

Dernier rappel, si vous ne comprenez pas ce que j'ai dit ci-dessus, vous devrez peut-être approfondir votre compréhension des valeurs de référence ECMAScript et des valeurs d'origine...

Cet article est terminé ici , plus de mises à jour Pour d'autres contenus passionnants, vous pouvez prêter attention à la colonne vidéo du didacticiel node.js du site Web PHP chinois ! ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal