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.json
din 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.