aici, veți învăța cum să expuneți diferite tipuri ca modul folosind modulul.exporturi.
module.exports este un obiect special care este inclus în fiecare fișier JavaScript din nod.cerere JS în mod implicit. module este o variabilă care reprezintă modulul curent, și exports este un obiect care va fi expus ca un modul. Deci, orice ai atribui module.exports va fi expus ca un modul.,
Să vedem cum să expunem diferite tipuri ca modul folosind module.exports.
Export Literals
după cum sa menționat mai sus, exports este un obiect. Așa că expune tot ce i-ai atribuit ca modul. De exemplu, dacă atribuiți un șir literal, atunci acesta va expune acel șir literal ca modul.
următorul exemplu expune mesaj șir simplu ca un modul în mesaj.J. S.
Copy
module.exports = 'Hello world';
acum, importați acest modul de mesaj și utilizați-l așa cum se arată mai jos.
Copy
var msg = require('./Messages.js');console.log(msg);
rulați exemplul de mai sus și vedeți rezultatul, așa cum se arată mai jos.
C: \ > nod app.js
Salut lume
./ ca o cale de folder rădăcină pentru a importa un modul local. Cu toate acestea, nu este necesar să specificați calea către nodul de import.,module de bază js sau module NPM în funcția require().Export obiect
exports este un obiect. Deci, puteți atașa Proprietăți sau metode. Următorul exemplu expune un obiect cu o proprietate string în Message.js fișier.
Copy
exports.SimpleMessage = 'Hello world';//ormodule.exports.SimpleMessage = 'Hello world';
În exemplul de mai sus, am atașat o proprietate SimpleMessage pentru exporturile obiect. Acum, importați și utilizați acest modul, așa cum se arată mai jos.
Copy
var msg = require('./Messages.js');console.log(msg.SimpleMessage);
În exemplul de mai sus, require() funcția va returna un obiect { SimpleMessage : 'Hello World'} și atribuiți-l la msg variabilă. Deci, acum Puteți utiliza msg.SimpleMessage.
rulați exemplul de mai sus scriindnode app.js în promptul de comandă și vedeți ieșirea așa cum se arată mai jos.
C: \ > nod app.JS
Hello World
în același mod ca mai sus, puteți expune un obiect cu funcție., Următorul exemplu expune un obiect cu funcția log ca modul.
Copy
module.exports.log = function (msg) { console.log(msg);};
Cele de mai sus, modulul va expune un obiect- { log : function(msg){ console.log(msg); } } . Utilizați modulul de mai sus așa cum se arată mai jos.
Copy
var msg = require('./Log.js');msg.log('Hello World');
rulați și vedeți ieșirea în promptul de comandă așa cum se arată mai jos.
C: \ > nod app.,js
Hello World
De asemenea, puteți atașa un obiect lamodule.exports, așa cum se arată mai jos.
copie
module.exports = { firstName: 'James', lastName: 'Bond'}
Copy
var person = require('./data.js');console.log(person.firstName + ' ' + person.lastName);
rulați exemplul de mai sus și vedeți rezultatul, așa cum se arată mai jos.
C: \ > nod app.js
James Bond
funcția de Export
puteți atașa o funcție anonimă la export obiect așa cum se arată mai jos.,
Copy
module.exports = function (msg) { console.log(msg);};
acum, Puteți utiliza modulul de mai sus, așa cum se arată mai jos.
Copy
var msg = require('./Log.js');msg('Hello World');
msg variabila devine o funcție de exprimare în exemplul de mai sus. Deci, puteți invoca funcția folosind paranteza (). Rulați exemplul de mai sus și vedeți ieșirea așa cum se arată mai jos.
C: \ > nod app.,js
Hello World
funcția de Export ca o clasă
în JavaScript, o funcție poate fi tratată ca o clasă. Următorul exemplu expune o funcție care poate fi utilizată ca o clasă.
modulul de mai sus poate fi utilizat, după cum se arată mai jos.
Copy
var person = require('./Person.js');var person1 = new person('James', 'Bond');console.log(person1.fullName());
după Cum puteți vedea, am creat un person obiect folosind new cuvinte cheie. Rulați exemplul de mai sus, așa cum se arată mai jos.
C: \ > nod app.,JS
James Bond
în acest fel, puteți exporta și importa un modul local creat într-un fișier separat sub folderul rădăcină.
nod.js, de asemenea, vă permite să creați module în sub foldere. Să vedem cum se încarcă modulul din sub-dosare.
încărcați modulul din folderul separat
utilizați calea completă a unui fișier de modul în care l-ați exportat folosind module.exports. De exemplu, în cazul în care modulul jurnal în jurnal.js este stocat în folderul utility din folderul rădăcină al aplicației dvs., apoi îl importați, așa cum se arată mai jos.
Copy
var log = require('./utility/log.js');
În exemplul de mai sus, . este pentru folderul rădăcină, și apoi specificați exact calea de fișier modul. Nod.js ne permite, de asemenea, să specificăm calea către folder fără a specifica numele fișierului. De exemplu, puteți specifica numai folderul utilitar fără a specifica log.js, așa cum se arată mai jos.
Copy
var log = require('./utility');
în exemplul de mai sus, nod.,js va căuta un fișier de definiție pachet numit package.json în interiorul folderului utilitar. Acest lucru se datorează faptului că nod presupune că acest dosar este un pachet și va încerca să caute o definiție pachet.Fișierul package.json ar trebui să fie într-un director de module. package.jsondin folderul utilitar specifică numele fișierului folosind tasta main, așa cum se arată mai jos.
copie
{ "name" : "log", "main" : "./log.js"}
acum, nod.,js va găsi log.js fișier folosind main intrare în package.json și de import-l.
package.json nu există, atunci va căuta index.fișier js ca fișier modul în mod implicit. 



