Tutorial Node.js NPM: Creați, publicați, extindeți & Administra

Cuprins:

Anonim

Un modul din Node.js este o încapsulare logică a codului într-o singură unitate. Este întotdeauna o bună practică de programare să separați întotdeauna codul în așa fel încât să îl facă mai ușor de gestionat și mai ușor de întreținut în scopuri viitoare. Acolo intră în acțiune module din Node.js.

Deoarece fiecare modul este o entitate independentă cu funcționalitatea sa încapsulată, acesta poate fi gestionat ca o unitate separată de lucru.

În acest tutorial, veți învăța-

  • Ce sunt modulele din Node.js
  • Utilizarea modulelor în Node.js
  • Crearea modulelor NPM
  • Extinderea modulelor
  • Publicarea modulelor NPM
  • Gestionarea pachetelor terță parte cu npm
  • Ce este fișierul package.json

Ce sunt modulele din Node.js?

După cum sa menționat anterior, modulele din Node js sunt o modalitate de încapsulare a codului într-o unitate logică separată. Există multe module readymade disponibile pe piață, care pot fi utilizate în cadrul Node js.

Mai jos sunt câteva dintre modulele populare care sunt utilizate într-o aplicație Node js

  1. Cadru Express - Express este un cadru de aplicații web Node js minimal și flexibil care oferă un set robust de caracteristici pentru aplicațiile web și mobile.
  2. Socket.io - Socket.IO permite comunicarea bidirecțională bazată pe evenimente în timp real. Acest modul este bun pentru crearea de aplicații bazate pe chat.
  3. Jade - Jade este un motor de șabloane performant și implementat cu JavaScript pentru nod și browsere.
  4. MongoDB - Driverul MongoDB Node.js este driverul node.js acceptat oficial pentru MongoDB.
  5. Restify - restify este un cadru ușor, similar cu expres pentru construirea API-urilor REST
  6. Bluebird - Bluebird este o bibliotecă de promisiuni complet dotată cu accent pe caracteristici inovatoare și performanță

Utilizarea modulelor în Node.js

Pentru a utiliza module într-o aplicație Node.js, acestea trebuie mai întâi să fie instalate folosind managerul de pachete Node.

Linia de comandă de mai jos arată cum poate fi instalat un modul "expres".

npm install express

  • Comanda de mai sus va descărca fișierele necesare care conțin „module express” și se vor 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 un mod pe care Node.js îl folosește pentru a încorpora funcționalitatea unui modul într-o aplicație.

Să vedem un exemplu al modului în care putem folosi cuvântul cheie „cere”. Exemplul de cod "Guru99" de mai jos arată cum să utilizați funcția de solicitare

var express=require('express');var app=express();app.set('view engine','jade');app.get('/',function(req,res){});var server=app.listen(3000,function(){});
  1. În prima declarație în sine, folosim cuvântul cheie „require” pentru a include modulul expres. Modulul "expres" este o bibliotecă JavaScript optimizată pentru dezvoltarea Node.js. Acesta este unul dintre cele mai utilizate module Node.js.
  2. După ce modulul este inclus, pentru a utiliza funcționalitatea din modul, trebuie creat un obiect. Aici este creat un obiect al modulului expres.
  3. Odată ce modulul este inclus folosind comanda „require” și este creat un „obiect”, metodele necesare ale modulului express pot fi invocate. Aici folosim comanda set pentru a seta motorul de vizualizare, care este folosit pentru a seta motorul de șablonare utilizat în Node.js.

    Notă: - (Doar pentru înțelegerea cititorului; un motor de modelare este o abordare pentru injectarea valorilor într-o aplicație prin preluarea datelor din fișierele de date. Acest concept este destul de renumit în Angular JS în care acoladele {{cheie}} sunt utilizate pentru înlocuiește valorile din pagina web. Cuvântul „cheie” din acoladele denotă practic variabila care va fi înlocuită cu o valoare când pagina este afișată.)

  4. Aici folosim metoda ascultare pentru a face ca aplicația să asculte pe un anumit număr de port.

Crearea modulelor NPM

Node.js are capacitatea de a crea module personalizate și vă permite să includeți aceste module personalizate în aplicația dvs. Node.js.

Să vedem un exemplu simplu de cum putem crea propriul nostru modul și să îl includem în fișierul nostru principal de aplicații. 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 le putem include în aplicația noastră.

Pasul 1) 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;};
  1. Cuvântul cheie „exporturi” este utilizat pentru a se asigura că funcționalitatea definită în acest fișier poate fi accesată efectiv de alte fișiere.
  2. Definim apoi o funcție numită „AddNumber”. Această funcție este definită pentru a lua 2 parametri, a și b. Funcția este adăugată la modulul „exporturi” pentru a face funcția ca o funcție publică care poate fi accesată de alte module de aplicație.
  3. În sfârșit, funcția noastră returnează valoarea adăugată a parametrilor.

Acum că am creat modulul nostru personalizat care are funcționalitatea de a adăuga 2 numere. 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.

Pasul 2) 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));
  1. Folosim cuvântul cheie „require” pentru a include funcționalitatea în fișierul Addition.js.
  2. Deoarece funcțiile din fișierul Addition.js sunt acum accesibile, putem face acum un apel către funcția AddNumber. În funcție, trecem 2 numere ca parametri. Afișăm apoi valoarea în consolă.

Ieșire :

  • Când rulați fișierul app.js, veți obține o ieșire de valoare 3 în jurnalul consolei.
  • Rezultatul se datorează faptului 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ă: - Deocamdată nu folosim „Managerul de pachete nod” pentru a instala modulul 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, pe care îl vedem în subiectul următor.

Extinderea modulelor

Când creați module, este, de asemenea, posibil să extindeți sau să moșteniți un modul de la altul.

În programarea modernă, este destul de obișnuit să construiți o bibliotecă de module comune și apoi să extindeți funcționalitatea acestor module comune, dacă este necesar.

Să vedem un exemplu despre modul în care putem extinde module în Node.js.

Pasul 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, tocmai creăm o funcție care returnează un șir la consolă. Șirul returnat este „Tutorial Guru99”.

var exports=module.exports={};exports.tutorial=function(){console.log("Guru99 Tutorial")}
  1. Modulul de export este utilizat astfel încât orice funcție definită în acest fișier să poată fi disponibilă în alte module din Node.js
  2. Creăm o funcție numită tutorial care poate fi utilizată în alte module Node.js.
  3. Afișăm un șir „Tutorial Guru99” în consolă atunci când este apelată această funcție.

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.

Pasul 2) Apoi, 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=TutorPTutor.tutorial();}}Orvar Tutor=require('./Tutorial.js');exports.NodeTutorial=function(){console.log("Node Tutorial")this.pTutor = function (){var PTutor=TutorPTutor.tutorial();}}

Rețineți, următoarele puncte cheie despre codul de mai sus

  1. Folosim funcția „require” în fișierul noului modul în sine. Deoarece vom extinde fișierul de module existent „Tutorial.js”, trebuie mai întâi să îl includem înainte de al extinde.
  2. Apoi creăm o funcție numită „Nodetutorial”. Această funcție va face 2 lucruri,
  • Acesta va trimite un șir „Tutorial nod” la consolă.
  • Acesta va trimite șirul „Guru99 Tutorial” din modulul de bază „Tutorial.js” către modulul nostru extins „NodeTutorial.js”.
  1. Aici realizăm primul pas pentru a trimite un șir către „Tutorial nod” la consolă.
  2. Următorul pas este să apelați funcția din modulul nostru Tutorial, care va afișa șirul „Tutorial Guru99” în console.log.

Pasul 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 codevar tut = new localTutor.NodeTutorial(); // Create and save objecttut.pTutor(); // Call function on object

Codul de mai sus face următoarele lucruri;

  1. Fișierul nostru principal al aplicației apelează acum modulul „NodeTutorial”.
  2. Apelăm la funcția „NodeTutorial”. Apelând această funcție, textul „Tutorial nod” va fi afișat în jurnalul consolei.
  3. Deoarece am extins modulul Tutorial.js și am expus o funcție numită pTutor. De asemenea, apelează modulul tutorial din modulul Tutorial.js, iar textul „Tutorial Guru99” 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

  • Tutorial nod
  • Tutorial Guru99

Publicarea modulelor NPM (Node Package Manager)

Se poate publica propriul modul în propriul depozit Github.

Publicându-vă modulul într-o locație centrală, atunci nu sunteți împovărat cu nevoia de a vă instala pe fiecare mașină care necesită acest lucru.

În schimb, puteți utiliza comanda de instalare npm și puteți instala modulul npm publicat.

Următorii pași trebuie urmați pentru a publica modulul dvs. npm

Pasul 1) Creați-vă depozitul pe GitHub (un instrument de gestionare a depozitului de coduri online). Poate fi folosit pentru găzduirea depozitelor de coduri.

Pasul 2 ) Trebuie să spuneți instalarea locală npm despre cine sunteți. Ceea ce înseamnă că trebuie să îi 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 când va fi publicat.

Comenzile de mai jos setează numele, adresa de e-mail și adresa URL a autorului modulului npm.

npm setează init.author.name „Guru99”.

npm set init.author.email " Această adresă de e-mail este protejată de spamboți. Aveți nevoie de JavaScript activat pentru ao vizualiza."

npm set init.author.url http://Guru99.com

Pasul 3) Următorul pas este să vă conectați la npm folosind acreditările furnizate în ultimul pas. Pentru a vă conecta, trebuie să utilizați comanda de mai jos

npm login 

Pasul 4) Inițializați pachetul - Următorul pas este inițializarea pachetului pentru a crea fișierul package.json. Acest lucru se poate face prin emiterea comenzii 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 dvs.

Pasul 5) Publicați pe GitHub - Următorul pas este să publicați fișierele sursă pe GitHub. Acest lucru se poate face executând comenzile de mai jos.

git add.git commit -m "Initial release"git tag v0.0.1git push origin master --tags

Pasul 6) Publicați modulul - 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ță parte cu npm

După cum am văzut, „Managerul de pachete Node” are capacitatea de a gestiona module, care sunt cerute de aplicațiile Node.js.

Să ne uităm la unele dintre funcțiile disponibile în managerul de pachete nod pentru gestionarea modulelor

  1. Instalarea pachetelor în modul global - Modulele pot fi instalate la nivel global, ceea ce înseamnă doar 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 instala express -global

    Opțiunea globală din declarația de mai sus este cea care permite instalarea modulelor la nivel global.

  2. 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ă

    npm list --global

    Mai jos este ieșirea 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ă.

  1. Instalarea unei versiuni specifice a unui pachet - Uneori poate fi necesară instalarea doar a versiunii specifice 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 se instalează modulul numit underscore cu o versiune specifică 1.7.0

    npm instalați [email protected]

  2. Actualizarea unei versiuni de pachete - 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 utiliza comanda de actualizare npm. Exemplul de mai jos arată cum să actualizați pachetul de subliniere la cea mai recentă versiune

    subliniere actualizare npm

  3. Căutarea unui anumit pachet - Pentru a căuta dacă o anumită versiune este disponibilă sau nu pe sistemul local, puteți utiliza comanda de căutare a npm. Exemplul de mai jos va verifica dacă modulul expres este instalat sau nu pe mașina locală.

    npm search express

  4. Dezinstalarea unui pachet - Același lucru în care puteți instala un pachet, puteți dezinstala și un pachet. Dezinstalarea unui pachet se face cu comanda de dezinstalare a npm. Exemplul de mai jos arată cum se dezinstalează modulul expres

    npm dezinstalați expres

Ce este fișierul package.json

Fișierul „package.json” este utilizat pentru a păstra metadatele despre un anumit proiect . Aceste informații oferă managerului de pachete Node informațiile necesare pentru a înțelege modul în care proiectul ar trebui gestionat î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 acesta este inclus în proiectul dvs. Node.js. Din instantaneu, puteți vedea fișierul package.json în folderul expres.

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 din fișier. Express@~4.13.1 menționează numărul de versiune a modulului Express 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 mai ușor de întreținut în scopuri viitoare
  • Există multe module disponibile pe piață care pot fi utilizate în cadrul Node.js, cum ar fi express, underscore, MongoDB etc.
  • Managerul de pachete nod (npm) este utilizat 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 de pe sistemul local, cum ar fi instalarea, dezinstalarea, căutarea etc.
  • Fișierul package.json este utilizat pentru a păstra toate informațiile de metadate pentru un modul npm.