Cela a déjà été répondu, mais je voulais ajouter quelques précisions...
Vous pouvez utiliser les deux exports
et module.exports
à l'importation de code dans votre application comme ceci:
var mycode = require('./path/to/mycode');
La base de cas d'utilisation (par exemple, dans ExpressJS exemple de code), c'est que vous définissez des propriétés sur l' exports
objet dans une .js fichier que vous importez ensuite à l'aide de require()
Donc, en un simple comptage exemple, vous pourriez avoir:
(counter.js):
var count = 1;
exports.increment = function() { count++; };
exports.getCount = function() { return count; };
... puis dans votre application (web.js ou vraiment tout autre .fichier js):
var counting = require('./counter.js');
console.log(counting.getCount()); // 1
counting.increment();
console.log(counting.getCount()); // 2
En termes simples, vous pouvez penser à des fichiers comme des fonctions qui retournent un objet unique, et vous pouvez ajouter des propriétés (chaînes de caractères, nombres, tableaux, fonctions, n'importe quoi) de l'objet renvoyé par le paramètre sur exports
.
Parfois, vous aurez envie de l'objet renvoyé à partir d'un require()
appel à une fonction, vous pouvez l'appeler, plutôt que de simplement un objet avec des propriétés. Dans ce cas, vous devez également définir module.exports
, comme ceci:
(sayhello.js):
module.exports = exports = function() { console.log("Hello World!"); }
(app.js):
var sayHello = require('./sayhello.js');
sayHello(); // "Hello World!"
La différence entre les exportations et le module.les exportations s'explique mieux dans cette réponse ici.