Esercitazione su Node.js NPM: creazione, pubblicazione, estensione e amp; Gestire

Sommario:

Anonim

Un modulo in Node.js è un incapsulamento logico del codice in una singola unità. È sempre una buona pratica di programmazione separare sempre il codice in modo tale da renderlo più gestibile e manutenibile per scopi futuri. È qui che entrano in azione i moduli in Node.js.

Poiché ogni modulo è un'entità indipendente con una propria funzionalità incapsulata, può essere gestito come un'unità di lavoro separata.

In questo tutorial imparerai-

  • Cosa sono i moduli in Node.js
  • Utilizzando i moduli in Node.js
  • Creazione di moduli NPM
  • Moduli estensibili
  • Pubblicazione di moduli NPM
  • Gestione di pacchetti di terze parti con npm
  • Qual è il file package.json

Cosa sono i moduli in Node.js?

Come affermato in precedenza, i moduli in Node js sono un modo per incapsulare il codice in un'unità logica separata. Sul mercato sono disponibili molti moduli già pronti che possono essere utilizzati all'interno di Node js.

Di seguito sono riportati alcuni dei moduli più diffusi utilizzati in un'applicazione Node js

  1. Framework Express : Express è un framework per applicazioni Web Node js minimale e flessibile che fornisce un robusto set di funzionalità per il Web e le applicazioni mobili.
  2. Socket.io : Socket.IO consente la comunicazione bidirezionale basata su eventi in tempo reale. Questo modulo è utile per la creazione di applicazioni basate su chat.
  3. Jade - Jade è un motore di modelli ad alte prestazioni e implementato con JavaScript per nodi e browser.
  4. MongoDB : il driver MongoDB Node.js è il driver node.js ufficialmente supportato per MongoDB.
  5. Restify : restify è un framework leggero, simile a express per la creazione di API REST
  6. Bluebird - Bluebird è una libreria di promesse completa con un focus su funzionalità e prestazioni innovative

Utilizzando i moduli in Node.js

Per poter utilizzare i moduli in un'applicazione Node.js, devono prima essere installati utilizzando il gestore di pacchetti Node.

La riga di comando seguente mostra come installare un modulo "express".

npm installa express

  • Il comando precedente scaricherà i file necessari che contengono i "moduli rapidi" e si occuperà anche dell'installazione
  • Una volta installato il modulo, per poter utilizzare un modulo in un'applicazione Node.js, è necessario utilizzare la parola chiave "require". Questa parola chiave è un modo utilizzato da Node.js per incorporare la funzionalità di un modulo in un'applicazione.

Diamo un'occhiata a un esempio di come possiamo utilizzare la parola chiave "require". Il seguente esempio di codice "Guru99" mostra come utilizzare la funzione require

var express=require('express');var app=express();app.set('view engine','jade');app.get('/',function(req,res){});var server=app.listen(3000,function(){});
  1. Nella prima istruzione stessa, stiamo usando la parola chiave "require" per includere il modulo express. Il modulo "express" è una libreria JavaScript ottimizzata per lo sviluppo di Node.js. Questo è uno dei moduli Node.js più comunemente usati.
  2. Dopo che il modulo è stato incluso, per utilizzare la funzionalità all'interno del modulo, è necessario creare un oggetto. Qui viene creato un oggetto del modulo express.
  3. Una volta che il modulo è stato incluso utilizzando il comando "require" e un "oggetto" è stato creato, possono essere richiamati i metodi richiesti del modulo express. Qui stiamo usando il comando set per impostare il motore di visualizzazione, che viene utilizzato per impostare il motore di modelli utilizzato in Node.js.

    Nota: - (Solo per la comprensione del lettore; un motore di modelli è un approccio per iniettare valori in un'applicazione raccogliendo dati da file di dati. Questo concetto è abbastanza famoso in Angular JS in cui le parentesi graffe {{key}} sono usate per sostituisce i valori nella pagina Web. La parola "chiave" tra parentesi graffe indica sostanzialmente la variabile che verrà sostituita da un valore quando la pagina viene visualizzata.)

  4. Qui stiamo usando il metodo di ascolto per fare in modo che l'applicazione sia in ascolto su un particolare numero di porta.

Creazione di moduli NPM

Node.js ha la capacità di creare moduli personalizzati e ti consente di includere tali moduli personalizzati nella tua applicazione Node.js.

Diamo un'occhiata a un semplice esempio di come possiamo creare il nostro modulo e includere quel modulo nel nostro file dell'applicazione principale. Il nostro modulo eseguirà semplicemente una semplice operazione di aggiunta di due numeri.

Seguiamo i passaggi seguenti per vedere come possiamo creare moduli e includerli nella nostra applicazione.

Passaggio 1) Crea un file chiamato "Addition.js" e includi il codice seguente. Questo file conterrà la logica per il tuo modulo.

Di seguito è riportato il codice che andrebbe a finire in questo file;

var exports=module.exports={};exports.AddNumber=function(a,b){return a+b;};
  1. La parola chiave "export" viene utilizzata per garantire che la funzionalità definita in questo file sia effettivamente accessibile da altri file.
  2. Stiamo quindi definendo una funzione chiamata "AddNumber". Questa funzione è definita per accettare 2 parametri, a e b. La funzione viene aggiunta al modulo "esporta" per rendere la funzione una funzione pubblica accessibile da altri moduli dell'applicazione.
  3. Stiamo finalmente facendo in modo che la nostra funzione restituisca il valore aggiunto dei parametri.

Ora che abbiamo creato il nostro modulo personalizzato che ha la funzionalità di aggiungere 2 numeri. È ora il momento di creare un'applicazione, che chiamerà questo modulo.

Nel passaggio successivo, vedremo effettivamente come creare l'applicazione che chiamerà il nostro modulo personalizzato.

Passaggio 2) Crea un file chiamato "app.js", che è il file dell'applicazione principale e aggiungi il codice seguente

var Addition=require('./Addition.js');console.log(Addition.AddNumber(1,2));
  1. Stiamo utilizzando la parola chiave "require" per includere la funzionalità nel file Addition.js.
  2. Poiché le funzioni nel file Addition.js sono ora accessibili, ora possiamo effettuare una chiamata alla funzione AddNumber. Nella funzione, stiamo passando 2 numeri come parametri. Stiamo quindi visualizzando il valore nella console.

Uscita :

  • Quando esegui il file app.js, otterrai un output di valore 3 nel log della console.
  • Il risultato è perché la funzione AddNumber nel file Addition.js è stata chiamata correttamente e il valore restituito di 3 è stato visualizzato nella console.

Nota: - Non stiamo ancora utilizzando il "gestore di pacchetti Node" per installare il nostro modulo Addition.js. Questo perché il modulo fa già parte del nostro progetto sulla macchina locale. Il gestore di pacchetti Node viene visualizzato quando pubblichi un modulo su Internet, che vediamo nell'argomento successivo.

Moduli estensibili

Quando si creano moduli, è anche possibile estendere o ereditare un modulo da un altro.

Nella programmazione moderna, è abbastanza comune costruire una libreria di moduli comuni e quindi estendere la funzionalità di questi moduli comuni, se necessario.

Diamo un'occhiata a un esempio di come possiamo estendere i moduli in Node.js.

Passaggio 1) Crea il modulo di base.

Nel nostro esempio, crea un file chiamato "Tutorial.js" e inserisci il codice seguente.

In questo codice, stiamo solo creando una funzione che restituisce una stringa alla console. La stringa restituita è "Guru99 Tutorial".

var exports=module.exports={};exports.tutorial=function(){console.log("Guru99 Tutorial")}
  1. Il modulo di esportazione viene utilizzato in modo che qualsiasi funzione definita in questo file possa essere disponibile in altri moduli in Node.js
  2. Stiamo creando una funzione chiamata tutorial che può essere utilizzata in altri moduli Node.js.
  3. Stiamo visualizzando una stringa "Guru99 Tutorial" nella console quando viene chiamata questa funzione.

Ora che abbiamo creato il nostro modulo di base chiamato Tutorial.js. È ora il momento di creare un altro modulo che estenderà questo modulo di base.

Esploreremo come farlo nel passaggio successivo.

Passaggio 2) Successivamente, creeremo il nostro modulo esteso. Crea un nuovo file chiamato "NodeTutorial.js" e inserisci il codice seguente nel file.

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();}}

Nota, i seguenti punti chiave sul codice sopra

  1. Stiamo usando la funzione "require" nel nuovo file del modulo stesso. Dato che estenderemo il file del modulo esistente "Tutorial.js", dobbiamo prima includerlo prima di estenderlo.
  2. Creiamo quindi una funzione chiamata "Nodetutorial". Questa funzione farà 2 cose,
  • Invierà una stringa "Node Tutorial" alla console.
  • Invierà la stringa "Guru99 Tutorial" dal modulo base "Tutorial.js" al nostro modulo esteso "NodeTutorial.js".
  1. Qui stiamo eseguendo il primo passaggio per inviare una stringa a "Node Tutorial" alla console.
  2. Il passo successivo è chiamare la funzione dal nostro modulo Tutorial, che invierà la stringa "Guru99 Tutorial" a console.log.

Passaggio 3) Crea il tuo file app.js principale, che è il file dell'applicazione principale e includi il codice seguente.

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

Il codice precedente fa le seguenti cose;

  1. Il nostro file dell'applicazione principale ora chiama il modulo "NodeTutorial".
  2. Stiamo chiamando la funzione "NodeTutorial". Chiamando questa funzione, il testo "Node Tutorial" verrà visualizzato nel registro della console.
  3. Poiché abbiamo esteso il nostro modulo Tutorial.js ed esposto una funzione chiamata pTutor. Richiama anche il modulo tutorial nel modulo Tutorial.js e il testo "Guru99 Tutorial" verrà visualizzato anche sulla console.

Produzione:

Poiché abbiamo eseguito il codice app.js di cui sopra utilizzando Node, otterremo il seguente output nel file console.log

  • Tutorial sul nodo
  • Tutorial Guru99

Pubblicazione di moduli NPM (Node Package Manager)

Si può pubblicare il proprio modulo nel proprio repository Github.

Pubblicando il tuo modulo in una posizione centrale, non sei quindi gravato dalla necessità di installarti su ogni macchina che lo richiede.

Invece, puoi usare il comando install di npm e installare il tuo modulo npm pubblicato.

I seguenti passaggi devono essere seguiti per pubblicare il tuo modulo npm

Passaggio 1) Crea il tuo repository su GitHub (uno strumento di gestione del repository di codice online). Può essere utilizzato per ospitare i tuoi repository di codice.

Step 2 ) Devi dire alla tua installazione locale di npm chi sei. Ciò significa che dobbiamo dire a npm chi è l'autore di questo modulo, qual è l'ID e-mail e qualsiasi URL aziendale disponibile e che deve essere associato a questo ID. Tutti questi dettagli verranno aggiunti al tuo modulo npm quando sarà pubblicato.

I comandi seguenti impostano il nome, l'email e l'URL dell'autore del modulo npm.

npm imposta init.author.name "Guru99."

npm set init.author.email " Questo indirizzo email è protetto dagli spambots. Devi abilitare JavaScript per vederlo."

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

Passaggio 3) Il passaggio successivo consiste nell'accedere a npm utilizzando le credenziali fornite nell'ultimo passaggio. Per accedere, è necessario utilizzare il comando seguente

npm login 

Passaggio 4) Inizializza il pacchetto: il passaggio successivo consiste nell'inizializzare il pacchetto per creare il file package.json. Questo può essere fatto emettendo il comando seguente

npm init

Quando esegui il comando precedente, ti verranno chieste alcune domande. Il più importante è il numero di versione del tuo modulo.

Passaggio 5) Pubblica su GitHub: il passaggio successivo è pubblicare i file sorgente su GitHub. Questo può essere fatto eseguendo i seguenti comandi.

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

Passaggio 6) Pubblica il tuo modulo - L'ultima parte è pubblicare il tuo modulo nel registro npm. Questo viene fatto tramite il comando seguente.

npm publish

Gestione di pacchetti di terze parti con npm

Come abbiamo visto, il "gestore di pacchetti Node" ha la capacità di gestire i moduli, che sono richiesti dalle applicazioni Node.js.

Diamo un'occhiata ad alcune delle funzioni disponibili nel gestore di pacchetti del nodo per la gestione dei moduli

  1. Installazione di pacchetti in modalità globale - I moduli possono essere installati a livello globale, il che significa semplicemente che questi moduli sarebbero disponibili per tutti i progetti Node.js su una macchina locale. L'esempio seguente mostra come installare il "modulo rapido" con l'opzione globale.

    npm installa express -global

    L'opzione globale nell'istruzione precedente è ciò che consente ai moduli di essere installati a livello globale.

  2. Elenco di tutti i pacchetti globali installati su una macchina locale. Questo può essere fatto eseguendo il comando seguente nel prompt dei comandi

    elenco npm --global

    Di seguito è riportato l'output che verrà mostrato, se hai precedentemente installato il "modulo express" sul tuo sistema.

    Qui puoi vedere i diversi moduli installati sulla macchina locale.

  1. Installazione di una versione specifica di un pacchetto: a volte potrebbe essere necessario installare solo la versione specifica di un pacchetto. Una volta che conosci il nome del pacchetto e la versione pertinente che deve essere installata, puoi utilizzare il comando npm install per installare quella specifica versione.

    L'esempio seguente mostra come installare il modulo chiamato underscore con una versione specifica di 1.7.0

    npm installa [email protected]

  2. Aggiornamento di una versione del pacchetto: a volte potresti avere una versione precedente di un pacchetto in un sistema e potresti voler aggiornare all'ultima disponibile sul mercato. Per fare ciò, è possibile utilizzare il comando npm update. L'esempio seguente mostra come aggiornare il pacchetto di sottolineatura alla versione più recente

    sottolineatura aggiornamento npm

  3. Ricerca di un particolare pacchetto: per cercare se una particolare versione è disponibile o meno sul sistema locale, è possibile utilizzare il comando di ricerca di npm. L'esempio seguente verificherà se il modulo express è installato o meno sulla macchina locale.

    npm search express

  4. Disinstallazione di un pacchetto: allo stesso modo in cui è possibile installare un pacchetto, è anche possibile disinstallare un pacchetto. La disinstallazione di un pacchetto viene eseguita con il comando di disinstallazione di npm. L'esempio seguente mostra come disinstallare il modulo express

    npm disinstalla express

Qual è il file package.json

Il file "package.json" viene utilizzato per contenere i metadati su un particolare progetto . Queste informazioni forniscono al gestore di pacchetti Node le informazioni necessarie per capire come gestire il progetto insieme alle sue dipendenze.

I file package.json contengono informazioni come la descrizione del progetto, la versione del progetto in una particolare distribuzione, informazioni sulla licenza e dati di configurazione.

Il file package.json si trova normalmente nella directory principale di un progetto Node.js.

Facciamo un esempio di come appare la struttura di un modulo quando è installato tramite npm.

L'istantanea seguente mostra il contenuto del file del modulo express quando è incluso nel tuo progetto Node.js. Dall'istantanea, puoi vedere il file package.json nella cartella express.

Se apri il file package.json, vedrai molte informazioni nel file.

Di seguito è riportata un'istantanea di una parte del file. L'express@~4.13.1 menziona il numero di versione del modulo espresso in uso.

Sommario

  • Un modulo in Node.js è un incapsulamento logico del codice in una singola unità. La separazione in moduli rende il codice più gestibile e manutenibile per scopi futuri
  • Ci sono molti moduli disponibili sul mercato che possono essere utilizzati all'interno di Node.js come express, underscore, MongoDB, ecc.
  • Il gestore di pacchetti del nodo (npm) viene utilizzato per scaricare e installare i moduli che possono quindi essere utilizzati in un'applicazione Node.js.
  • È possibile creare moduli NPM personalizzati, estendere questi moduli e anche pubblicare questi moduli.
  • Il gestore di pacchetti Node ha un set completo di comandi per gestire i moduli npm sul sistema locale come l'installazione, la disinstallazione, la ricerca, ecc.
  • Il file package.json viene utilizzato per contenere tutte le informazioni sui metadati per un modulo npm.