Tutorial Node.js NPM: Cum să creați, să extindeți, să publicați module
Modulele Node.js
Un modul din Node.js este o încapsulare logică a codului într-o singură unitate. Este întotdeauna o practică bună de programare să segregați întotdeauna codul în așa fel încât să îl facă mai ușor de gestionat și mai ușor de întreținut pentru scopuri viitoare. Acolo intră în acțiune modulele din Node.js.
Deoarece fiecare modul este o entitate independentă cu propria sa funcționalitate încapsulată, poate fi gestionat ca o unitate de lucru separată.
Ce este un modul în Node.js?
După cum sa menționat mai devreme, modulele din Node js sunt o modalitate de încapsulare a codului într-o unitate logică separată. Există multe module gata făcute disponibile pe piață care pot fi utilizate în Node js.
Mai jos sunt câteva dintre modulele populare care sunt utilizate într-o aplicație Node js
- Cadru expres – Express este un cadru de aplicații web Node js minimal și flexibil, care oferă un set robust de caracteristici pentru web și mobil aplicatii.
- socket.io – Socket.IO permite comunicarea bidirecțională în timp real, bazată pe evenimente. Acest modul este bun pentru crearea de aplicații bazate pe chat.
- Jad – Jade este un motor de șablon de înaltă performanță și implementat cu JavaScenariu pentru nod și browsere.
- MongoDB - MongoDB Driverul Node.js este driverul node.js acceptat oficial pentru MongoDB.
- Restify – Restify este un cadru ușor, similar cu expres pentru construirea de API-uri REST
- Bluebird – Bluebird este o bibliotecă de promisiune completă, cu accent pe caracteristici inovatoare și performanță
Utilizarea modulelor în Node.js
Pentru a utiliza module în a Node.js aplicație, acestea trebuie mai întâi instalate utilizând managerul de pachete Node.
Linia de comandă de mai jos arată cum poate fi instalat un modul „express”.
npm install express
- Comanda de mai sus va descărca fișierele necesare care conțin „module expres” și se va ocupa și de instalare
- Odată ce modulul a fost instalat, pentru a utiliza un modul într-o aplicație Node.js, trebuie să utilizați cuvântul cheie „require”. Acest cuvânt cheie este o modalitate pe care o folosește Node.js pentru a încorpora funcționalitatea unui modul într-o aplicație.
Să ne uităm la un exemplu despre cum putem folosi cuvântul cheie „require”. Exemplul de cod „Guru99” de mai jos arată cum să utilizați funcția require
var express=require('express'); var app=express(); app.set('view engine','jade'); app.get('/',function(req,res) { }); var server=app.listen(3000,function() { });
- În prima declarație în sine, folosim cuvântul cheie „require” pentru a include modulul expres. Modulul „express” este optimizat JavaScenariu bibliotecă pentru dezvoltarea Node.js. Acesta este unul dintre cele mai utilizate module Node.js.
- După ce modulul este inclus, pentru a utiliza funcționalitatea din cadrul modulului, trebuie creat un obiect. Aici este creat un obiect al modulului expres.
- Odată ce modulul este inclus folosind comanda „require” și este creat un „obiect”, metodele necesare ale modulului expres pot fi invocate. Aici folosim comanda set pentru a seta motorul de vizualizare, care este folosit pentru a seta motorul de șabloane utilizat în Node.js.
- Aici folosim metoda ascultă pentru a face ca aplicația să asculte pe un anumit număr de port.
Notă:-(Doar pentru înțelegerea cititorului; un motor de șabloane este o abordare pentru injectarea de valori într-o aplicație prin preluarea datelor din fișierele de date. Acest concept este destul de faimos în Angular JS, în care acoladele {{ cheia }} sunt folosite pentru a înlocui valorile în pagina web. Cuvântul „cheie” din acolade indică practic variabila care va fi înlocuită cu o valoare atunci când pagina este afișată.)
Cum se creează module NPM
Node.js are capacitatea de a crea module personalizate și vă permite să includeți acele module personalizate în aplicația dvs. Node.js.
Să ne uităm la un exemplu simplu despre cum ne putem crea propriul modul și include acel modul în fișierul nostru principal de aplicație. Modulul nostru va face doar o sarcină simplă de a adăuga două numere.
Să urmăm pașii de mai jos pentru a vedea cum putem crea module și să le includem în aplicația noastră.
Mai jos este procesul pas cu pas despre cum se creează module NPM
Pas 1) Creați un fișier și inserați codul de mai jos
Creați un fișier numit „Addition.js” și includeți codul de mai jos. Acest fișier va conține logica pentru modulul dvs.
Mai jos este codul care ar intra în acest fișier;
var exports=module.exports={}; exports.AddNumber=function(a,b) { return a+b; };
- Cuvântul cheie „exports” este folosit pentru a se asigura că funcționalitatea definită în acest fișier poate fi accesată efectiv de alte fișiere.
- Apoi definim o funcție numită „AddNumber”. Această funcție este definită pentru a prelua 2 parametri, a și b. Funcția este adăugată la modulul „export” pentru a face funcția ca o funcție publică care poate fi accesată de alte module de aplicație.
- În sfârșit, facem ca funcția noastră să returneze valoarea adăugată a parametrilor.
Acum că am creat modulul nostru personalizat care are funcționalitatea de a adăuga 2 numere. Acum este timpul să creați o aplicație, care va apela acest modul.
În pasul următor, vom vedea de fapt cum să creăm aplicația care va apela modulul nostru personalizat.
Pas 2) Creați un fișier de aplicație
Creați un fișier numit „app.js”, care este fișierul principal al aplicației și adăugați codul de mai jos
var Addition=require('./Addition.js'); console.log(Addition.AddNumber(1,2));
- Folosim cuvântul cheie „require” pentru a include funcționalitatea în fișierul Addition.js.
- Deoarece funcțiile din fișierul Addition.js sunt acum accesibile, acum putem efectua un apel la funcția AddNumber. În funcție, trecem 2 numere ca parametri. Apoi afișăm valoarea în consolă.
producție:
- Când rulați fișierul app.js, veți obține o ieșire cu valoarea 3 în jurnalul consolei.
- Rezultatul este că funcția AddNumber din fișierul Addition.js a fost apelată cu succes, iar valoarea returnată de 3 a fost afișată în consolă.
Notă: – Nu folosim încă „Managerul de pachete Node” pentru a instala modulul nostru Addition.js. Acest lucru se datorează faptului că modulul face deja parte din proiectul nostru pe mașina locală. Managerul de pachete Node apare în imagine atunci când publicați un modul pe internet, lucru pe care îl vedem în subiectul următor.
Extinderea modulelor în Node.js
La crearea modulelor, este de asemenea posibilă extinderea sau moștenirea unui modul de la altul.
În programarea modernă, este destul de comun să construiți o bibliotecă de module comune și apoi să extindeți funcționalitatea acestor module comune dacă este necesar.
Să ne uităm la un exemplu despre cum putem extinde module în Node.js.
Pas 1) Creați modulul de bază.
În exemplul nostru, creați un fișier numit „Tutorial.js” și plasați codul de mai jos.
În acest cod, doar creăm o funcție care returnează un șir în consolă. Șirul returnat este „Guru99 Tutorial”.
var exports=module.exports={}; exports.tutorial=function() { console.log("Guru99 Tutorial") }
- Modulul de exporturi este utilizat astfel încât orice funcție definită în acest fișier să poată fi disponibilă în alte module din Node.js
- Creăm o funcție numită tutorial care poate fi folosită în alte module Node.js.
- Afișăm un șir „Guru99 Tutorial” în consolă atunci când această funcție este apelată.
Acum că am creat modulul nostru de bază numit Tutorial.js. Acum este timpul să creați un alt modul care va extinde acest modul de bază.
Vom explora cum să facem acest lucru în pasul următor.
Pas 2) În continuare, vom crea modulul nostru extins. Creați un fișier nou numit „NodeTutorial.js” și plasați codul de mai jos în fișier.
var Tutor=require('./Tutorial.js'); exports.NodeTutorial=function() { console.log("Node Tutorial") function pTutor() { var PTutor=Tutor PTutor.tutorial(); } } Or var Tutor=require('./Tutorial.js'); exports.NodeTutorial=function() { console.log("Node Tutorial") this.pTutor = function () { var PTutor=Tutor PTutor.tutorial(); } }
Rețineți următoarele puncte cheie despre codul de mai sus
- Folosim funcția „require” în noul fișier de modul însuși. Deoarece vom extinde fișierul modul existent „Tutorial.js”, mai întâi trebuie să îl includem înainte de a-l extinde.
- Apoi creăm o funcție numită „Nodetutorial”. Această funcție va face 2 lucruri,
- Acesta va trimite un șir „Tutorial Nod” către consolă.
- Va trimite șirul „Guru99 Tutorial” de la modulul de bază „Tutorial.js” la modulul nostru extins „NodeTutorial.js”.
- Aici efectuăm primul pas pentru a trimite un șir la „Tutorial Node” către consolă.
- Următorul pas este să apelăm funcția din modulul nostru Tutorial, care va scoate șirul „Guru99 Tutorial” în console.log.
Pas 3) Creați fișierul principal app.js, care este fișierul principal al aplicației și includeți codul de mai jos.
var localTutor=require('./NodeTutorial.js'); localTutor.NodeTutorial(); localTutor.NodeTutorial.pTutor(); Or use this code var tut = new localTutor.NodeTutorial(); // Create and save object tut.pTutor(); // Call function on object
Codul de mai sus face următoarele lucruri;
- Fișierul nostru principal de aplicație numește acum modulul „NodeTutorial”.
- Numim funcția „NodeTutorial”. Prin apelarea acestei funcții, textul „Tutorial nod” va fi afișat în jurnalul consolei.
- Deoarece am extins modulul nostru Tutorial.js și am expus o funcție numită pTutor. De asemenea, apelează modulul tutorial din modulul Tutorial.js, iar textul „Guru99 Tutorial” va fi afișat și pe consolă.
ieșire:
Deoarece am executat codul app.js de mai sus folosind Node, vom obține următoarea ieșire în fișierul console.log
- Node Tutorial
- Tutorial Guru99
Pachetul de publicare NPM (Node Package Manager).
Se poate publica propriul modul în al lor Github repertoriu.
Prin publicarea modulului dvs. într-o locație centrală, nu sunteți împovărați să vă instalați pe fiecare mașină care necesită acest lucru.
În schimb, puteți utiliza comanda de instalare a npm și puteți instala modulul npm publicat.
Următorii pași trebuie urmați pentru a vă publica modulul npm
Pas 1) Creați-vă depozitul pe GitHub (un instrument de gestionare a depozitelor de cod online). Poate fi folosit pentru găzduirea depozitelor de coduri.
Etapa 2) Trebuie să spuneți instalării locale npm despre cine sunteți. Ceea ce înseamnă că trebuie să spunem lui npm cine este autorul acestui modul, care este id-ul de e-mail și orice adresă URL a companiei, care este disponibilă și care trebuie asociată cu acest id. Toate aceste detalii vor fi adăugate la modulul dvs. npm atunci când va fi publicat.
Comenzile de mai jos stabilesc numele, e-mailul și URL-ul autorului modulului npm.
npm setează init-author-name „Guru99”.
npm set init-author-email „guru99@gmail.com”
npm set init-author-url „http://Guru99.com”
Pas 3) Următorul pas este să vă autentificați în npm folosind acreditările furnizate la ultimul pas. Pentru a vă autentifica, trebuie să utilizați comanda de mai jos
npm login
Pas 4) Inițializați pachetul - Următorul pas este să inițializați pachetul pentru a crea fișierul package.json. Acest lucru se poate face lansând comanda de mai jos
npm init
Când lansați comanda de mai sus, vi se vor solicita câteva întrebări. Cel mai important este numărul versiunii pentru modulul dumneavoastră.
Pas 5) Publicați în GitHub – Următorul pas este să vă publicați fișierele sursă în GitHub. Acest lucru se poate face prin rularea comenzilor de mai jos.
git add. git commit -m "Initial release" git tag v0.0.1 git push origin master --tags
Pas 6) Publicați modulul dvs. - Bitul final este să vă publicați modulul în registrul npm. Acest lucru se face prin comanda de mai jos.
npm publish
Gestionarea pachetelor terților cu npm
După cum am văzut, „Managerul de pachete Node” are capacitatea de a gestiona module, care sunt solicitate de aplicațiile Node.js.
Să ne uităm la unele dintre funcțiile disponibile în managerul de pachete nod pentru gestionarea modulelor
- Instalarea pachetelor în modul global – Modulele pot fi instalate la nivel global, ceea ce înseamnă, practic, că aceste module ar fi disponibile pentru toate proiectele Node.js pe o mașină locală. Exemplul de mai jos arată cum se instalează „modulul expres” cu opțiunea globală.npm install express –global Opțiunea globală din declarația de mai sus este cea care permite ca modulele să fie instalate la nivel global.
- Listarea tuturor pachetelor globale instalate pe o mașină locală. Acest lucru se poate face executând comanda de mai jos în promptul de comandălista npm – globalăMai jos este rezultatul care va fi afișat, dacă ați instalat anterior „modulul expres” pe sistemul dumneavoastră. Aici puteți vedea diferitele module instalate pe mașina locală.
- Instalarea unei versiuni specifice a unui pachet – Uneori poate exista o cerință de a instala doar versiunea specifică a unui pachet. După ce cunoașteți numele pachetului și versiunea relevantă care trebuie instalată, puteți utiliza comanda npm install pentru a instala acea versiune specifică. Exemplul de mai jos arată cum să instalați modulul numit subliniere cu o versiune specifică de instalare 1.7.0npm subliniere@1.7.0
- Actualizarea unei versiuni de pachet – Uneori este posibil să aveți o versiune mai veche a unui pachet într-un sistem și poate doriți să actualizați la cea mai recentă versiune disponibilă pe piață. Pentru a face acest lucru, se poate folosi comanda npm update. Exemplul de mai jos arată cum să actualizați pachetul de subliniere la cea mai recentă versiunesubliniere a actualizării npm
- Căutarea unui anumit pachet – Pentru a căuta dacă o anumită versiune este disponibilă pe sistemul local sau nu, puteți utiliza comanda de căutare a npm. Exemplul de mai jos va verifica dacă modulul expres este instalat pe mașina locală sau nu.npm search express
- Dezinstalarea unui pachet – La fel în care puteți instala un pachet, puteți și dezinstala un pachet. Dezinstalarea unui pachet se face cu comanda de dezinstalare a lui npm. Exemplul de mai jos arată cum să dezinstalați modulul expresnpm uninstall express
Ce este fișierul package.json
Fișierul „package.json” este folosit pentru a păstra fișierul metadate despre un anumit proiect. Aceste informații oferă managerului de pachete Node informațiile necesare pentru a înțelege cum trebuie gestionat proiectul împreună cu dependențele sale.
Fișierele package.json conțin informații precum descrierea proiectului, versiunea proiectului într-o anumită distribuție, informații despre licență și date de configurare.
Fișierul package.json se află în mod normal în directorul rădăcină al unui proiect Node.js.
Să luăm un exemplu despre cum arată structura unui modul atunci când este instalat prin npm.
Instantaneul de mai jos arată conținutul fișierului modulului expres atunci când este inclus în proiectul dvs. Node.js. Din instantaneu, puteți vedea fișierul package.json în folderul Express.
Dacă deschideți fișierul package.json, veți vedea o mulțime de informații în fișier.
Mai jos este un instantaneu al unei porțiuni a fișierului. The expres@~4.13.1 menționează numărul versiunii modulului expres utilizat.
Rezumat
- Un modul din Node.js este o încapsulare logică a codului într-o singură unitate. Separarea în module face codul mai ușor de gestionat și de întreținut pentru scopuri viitoare
- Există multe module disponibile pe piață care pot fi utilizate în Node.js, cum ar fi expres, subliniere, MongoDB, Etc
- Managerul de pachete nod (npm) este folosit pentru a descărca și instala module care pot fi apoi utilizate într-o aplicație Node.js.
- Se pot crea module NPM personalizate, extinde aceste module și, de asemenea, publica aceste module.
- Managerul de pachete Node are un set complet de comenzi pentru a gestiona modulele npm pe sistemul local, cum ar fi instalarea, dezinstalarea, căutarea etc.
- Fișierul package.json este utilizat pentru a păstra întreaga informație de metadate pentru un modul npm.