Exposer la fonctionnalité d'un fichier Node à l'aide d'export

Comment utiliser l'API module.exports pour exposer des données à d'autres fichiers de votre application, ou à d'autres applications également

Node a un système de module intégré.

Un fichier Node.js peut importer des fonctionnalités exposées par d'autres fichiers Node.js.

Lorsque vous souhaitez importer quelque chose que vous utilisez

const library = require('./library')

pour importer les fonctionnalités exposées dans lelibrary.jsfichier qui réside dans le dossier de fichiers actuel.

Dans ce fichier, les fonctionnalités doivent être exposées avant de pouvoir être importées par d'autres fichiers.

Tout autre objet ou variable défini dans le fichier par défaut est privé et n'est pas exposé au monde extérieur.

C'est ce que lemodule.exportsAPI offerte par lemodulesystèmenous permet de faire.

Lorsque vous affectez un objet ou une fonction en tant que nouveauexportspropriété, c'est la chose qui est exposée, et en tant que telle, elle peut être importée dans d'autres parties de votre application, ou dans d'autres applications également.

Vous pouvez le faire de 2 manières.

La première consiste à attribuer un objet àmodule.exports, qui est un objet fourni par le système de modules, et cela fera l'exportation de votre fichierjuste cet objet:

const car = {
  brand: 'Ford',
  model: 'Fiesta'
}

module.exports = car

//…in the other file const car = require(’./car’)

La deuxième méthode consiste à ajouter l'objet exporté en tant que propriété deexports. Cette méthode vous permet d'exporter plusieurs objets, fonctions ou données:

const car = {
  brand: 'Ford',
  model: 'Fiesta'
}

exports.car = car

ou directement

exports.car = {
  brand: 'Ford',
  model: 'Fiesta'
}

Et dans l'autre fichier, vous l'utiliserez en référençant une propriété de votre importation:

const items = require('./items')
items.car

ou

const car = require('./items').car

Quelle est la différence entremodule.exportsetexports?

Le premier expose l'objet vers lequel il pointe. Ce dernier exposeles propriétésde l'objet vers lequel il pointe.

Téléchargez mon gratuitManuel de Node.js


Plus de didacticiels sur les nœuds: