‫Istruttore: In questo video, diamo
‫un'occhiata ai due tipi di pacchetti che possiamo installare
‫con npm e anche ai due tipi di installazioni che ci sono.
‫Quindi i due tipi di pacchetti
‫che possiamo installare sono semplici dipendenze o dipendenze di sviluppo.
‫Ora le dipendenze semplici o regolari sono semplicemente pacchetti che
‫contengono del codice che includeremo nel nostro codice.
‫Quindi codice su cui abbiamo costruito la nostra applicazione, ed è
‫per questo che in realtà le chiamiamo dipendenze,
‫perché il nostro progetto e il nostro codice dipendono da
‫esse per funzionare correttamente.
‫Ad esempio, Express, che è, di nuovo,
‫il framework Node che useremo
‫più
‫avanti nel corso, sarà una dipendenza.
‫Quindi ora installiamo la nostra primissima dipendenza solo
‫per mostrarti come funziona.
‫E il pacchetto che installeremo si chiama Slugify, che è
‫un piccolo strumento che possiamo
‫usare per rendere più leggibili gli URL dai nomi.
‫Ad esempio, come i nomi dei prodotti nel caso
‫del nostro esempio di modulo del nodo.
‫Quindi, per installare una semplice dipendenza in npm,
‫tutto ciò che dobbiamo fare è dire npm install e
‫quindi il nome del pacchetto,
‫che è semplicemente Slugify.
‫Nelle versioni precedenti, avresti anche dovuto dire
‫dash dash save, in questo modo, ma in questo
‫momento non è più necessario.
‫Quindi, se specifichi semplicemente npm install
‫slugify, installerà questo pacchetto come una normale dipendenza.
‫E guarda cosa succede al nostro pacco. json una volta
‫completata l'installazione.
‫Quindi ora premiamo Invio e vediamo cosa succede.
‫E in realtà, è stato
‫molto veloce e ha installato subito il
‫nostro pacchetto, quindi ha creato questo nuovo campo qui chiamato dipendenze
‫e ha inserito la nostra prima dipendenza, Slugify, proprio lì.
‫Ha anche la versione del pacchetto, ma
‫ne parleremo un po' più avanti in questa
‫sezione.
‫Questa è la nostra prima dipendenza e,
‫ancora una volta, questa è solo una normale dipendenza.
‫E useremo Slugify proprio nel prossimo video,
‫quindi solo per avere un'idea di come utilizziamo queste dipendenze di
‫terze parti nel nostro codice.
‫Ma in questo momento,
‫quello che voglio mostrarti è che oltre a
‫queste dipendenze regolari, abbiamo anche dipendenze di sviluppo.
‫E questi di solito sono solo strumenti per lo sviluppo,
‫ad esempio come un bundler di codice come
‫Webpack, o uno strumento di debug o una libreria di test.
‫Quindi queste sono dipendenze di sviluppo.
‫Non sono necessari per la
‫produzione, quindi il nostro codice non dipende realmente
‫da loro, li usiamo semplicemente per sviluppare le nostre applicazioni.
‫Quindi ora installiamo una dipendenza di sviluppo,
‫che è solo un nome breve per la dipendenza di
‫sviluppo, e lo strumento
‫che installeremo si chiama nodemon.
‫Quindi npm install nodemon, in questo modo, e poi quello che dobbiamo fare
‫per specificare che questa è una
‫dipendenza di sviluppo è dire save dev, e quindi questo aggiungerà una
‫voce a questo pacchetto. json
‫nelle dipendenze dev.
‫Quindi diamo un'occhiata
‫a questo una volta terminata l'installazione.
‫Ora nodemon è uno strumento molto carino che ci
‫aiuta a sviluppare applicazioni Node JS riavviando automaticamente
‫l'applicazione Node ogni volta che cambiamo alcuni file nella nostra
‫directory di lavoro.
‫Quindi ricorda che nel progetto chiudevo
‫continuamente il server e poi lo riavviavo
‫ogni volta che cambiavo
‫il codice.
‫Ma con questo strumento non è più necessario.
‫Quindi riavvierà automaticamente il server ogni volta che apportiamo
‫una modifica.
‫Quindi ora ha terminato l'installazione e
‫ha creato un nuovo campo chiamato dipendenze dev, e
‫poi ovviamente ha aggiunto nodemon lì dentro.
‫E quindi il nostro progetto ora sa
‫sostanzialmente che dipendiamo da questo strumento qui per sviluppare la nostra applicazione e
‫da questo pacchetto qui per costruire effettivamente la nostra base di codice.
‫Quindi questi sono i due tipi di pacchetti.
‫Ora parliamo anche dei due tipi di installazione di questi
‫pacchetti, perché
‫in questo momento tutto ciò che abbiamo fatto
‫è stato installare questi pacchetti localmente, quindi
‫funzionano solo in questo progetto e possiamo
‫effettivamente vederlo proprio qui nella nostra
‫cartella del progetto perché
‫npm ha creato questo nuova cartella
‫chiamata moduli nodo per noi.
‫Ha tutte le dipendenze del nostro progetto.
‫Ma ora potresti chiedere, beh, abbiamo
‫specificato solo Slugify e
‫nodemon, quindi cosa ci fanno tutti questi pacchetti qui?
‫Bene, è semplicemente perché a
‫loro volta sono dipendenze delle nostre dipendenze.
‫Se, ad esempio, Slugify necessita di uno di questi
‫pacchetti, beh, allora npm installerà anche queste dipendenze.
‫E così finiamo con tutte queste dipendenze qui
‫nel nostro progetto.
‫Quindi questi sono per i moduli locali, quindi Slugify e
‫nodemon, di nuovo, li
‫abbiamo appena installati localmente nella nostra cartella del progetto
‫e non funzioneranno da nessun'altra parte.
‫Ma con npm, possiamo anche avere installazioni globali e le
‫installazioni globali saranno quindi disponibili ovunque, non
‫solo nella nostra cartella
‫del progetto, ma in ogni cartella dell'intera macchina.
‫Quindi un pacchetto dovrebbe essere installato
‫globalmente quando fornisce un comando eseguibile che è possibile eseguire
‫dall'interfaccia della riga di comando.
‫E nodemon, ad esempio, è uno strumento del genere.
‫Quindi uso nodemon in tutti i progetti Node su cui
‫lavoro, quindi ho nodemon installato come dipendenza globale perché
‫in questo modo non devo installarlo ogni volta
‫che creo un nuovo progetto.
‫Posso semplicemente usarlo in un nuovo
‫progetto perché è già installato a livello globale.
‫Quindi ora facciamolo davvero.
‫Cancella la console
‫qui, quindi installala globalmente.
‫Quindi npm install, e in realtà c'è
‫una scorciatoia per install.
‫In realtà è sufficiente scrivere semplicemente i, così.
‫Di solito è così che lo faccio.
‫Quindi npm i nodemon, quindi flag global.
‫Premi Invio
‫ora, quindi ora viene installato a livello globale.
‫Ma in realtà ci dà questo
‫errore, e se sei su un Mac e
‫hai fatto così, ti
‫darà anche un errore semplicemente perché
‫non hai le autorizzazioni per installare questo pacchetto.
‫Se sei su un Mac, non funziona, e
‫credo che su Windows dovrebbe funzionare,
‫almeno questa è l'esperienza che
‫ho io, ma se sei su un Mac,
‫hai effettivamente messo sudo davanti e poi inserisci
‫la tua password fondamentalmente solo per dargli il permesso.
‫Bene, nel mio caso
‫ho Touch ID, ma se non ce l'hai,
‫puoi usare la password del tuo account utente.
‫Ad ogni modo, ora funziona e ora possiamo iniziare a utilizzare
‫nodemon su questo progetto.
‫Quindi lascia che ti mostri effettivamente come funziona.
‫Quindi, prima di eseguire la nostra app, l'abbiamo fatto in questo modo.
‫Abbiamo scritto node e quindi index. js.
‫Quello che ho fatto qui ora era in realtà
‫un completamento automatico, e penso di non
‫averne parlato a
‫questo punto, quindi lasciami andare avanti e cancellarlo.
‫Quindi ho iniziato a digitare la i qui, e
‫poiché non c'è nessun altro file che inizia con una i, ora
‫posso premere la
‫scheda e quindi completerà automaticamente il resto del
‫nome del file per me.
‫Lo facevamo in questo modo, poi premevamo Invio, e
‫poi ogni volta che volevamo fare
‫qualche modifica, dovevamo uscire in questo modo e
‫riavviare tutto di nuovo.
‫Ma non è più così perché ora abbiamo nodemon.
‫Quindi tutto ciò che dobbiamo fare è invece di scrivere node, scrivere
‫nodemon e quindi index. js.
‫Ok, quindi ora sta guardando ogni file con
‫ogni estensione.
‫Se ora torniamo al nostro file qui, non abbiamo
‫nemmeno bisogno di cambiare nulla, tutto
‫quello che devo fare è
‫salvarlo e dare un'occhiata a cosa succede qui nella console.
‫Quindi lo salverò ora
‫e vedrai il riavvio a causa di modifiche.
‫Ora ricomincia, node index. js.
‫Quindi vedi che dietro
‫le quinte, in realtà sta ancora eseguendo il comando originale
‫che eravamo soliti fare, quindi node index. js, e quindi nodemon è
‫fondamentalmente solo un wrapper attorno a
‫quel comando node
‫semplicemente per semplificarci la vita.
‫Questo è uno strumento estremamente, estremamente utile per lavorare
‫con Node, e per
‫il resto del corso userò sempre nodemon invece del
‫comando node.
‫E ora, per finire, c'è un'altra piccola cosa
‫che volevo mostrarti qui.
‫Quindi diciamo che non abbiamo installato nodemon a livello globale.
‫Bene, come utilizzeremmo quindi la nostra dipendenza di sviluppo qui localmente?
‫Quindi il nodemon locale che abbiamo installato.
‫Bene, non potremmo semplicemente eseguirlo dalla riga
‫di comando perché le dipendenze locali non funzionano così.
‫Non possiamo semplicemente usarli subito nella riga di comando, ma quello
‫che possiamo fare è specificare uno script npm e lo
‫facciamo qui in questo campo di script.
‫Quando abbiamo inserito npm, in
‫realtà ha messo questo script qui per noi, che
‫è per il
‫test, e poi ha semplicemente detto che non abbiamo alcun test specificato.
‫Quindi è proprio come un segnaposto per
‫noi ora, che possiamo sostituire ora con start
‫e quindi nodemon index. js.
‫E questo nodemon che sto
‫usando qui sarà in
‫realtà il nodemon proveniente dalle dipendenze dev.
‫Invece di scrivere il comando qui nella riga di
‫comando come ho
‫fatto qui, metterò semplicemente la stessa cosa in uno script npm.
‫Lo script si chiama start in questo
‫caso e ora saremo in grado di eseguirlo.
‫Quindi fammi finire questo qui.
‫Quindi è così che eseguiamo uno script
‫npm, npm run and start, e in effetti ci dà
‫il comando qui nodemon index. js, e ora
‫tutto funziona esattamente come prima.
‫Destra?
‫E questo non ha nulla
‫a che fare con il fatto
‫che abbiamo installato nodemon globalmente in precedenza, funziona semplicemente così
‫perché, ancora una volta, nodemon è la nostra dipendenza dev proprio qui nello script npm.
‫Possiamo quindi scrivere
‫qualcosa come un'istruzione dell'interfaccia della riga di
‫comando che utilizzerà quella dipendenza locale
‫e non quella globale.
‫Ancora una volta, questo avrebbe funzionato
‫bene senza nodemon installato a livello globale.
‫Questo è il modo in cui specifichi lo script npm,
‫e ne faremo molto di più durante questo
‫corso e possiamo dare loro tutti i tipi di nomi.
‫Start è una specie di default per lo sviluppo.
‫Quindi, in realtà,
‫per iniziare, non dobbiamo nemmeno scrivere npm run start,
‫ma scrivere npm start è effettivamente sufficiente
‫per attivare questo comando speciale.
‫Quindi vedi di nuovo, funziona bene così.
‫Perfetto.
‫Quindi, in questo video,
‫hai imparato la differenza tra le dipendenze regolari e le
‫dipendenze di sviluppo, e poi hai anche
‫imparato che puoi installarle localmente o
‫globalmente, oppure puoi anche installarle in entrambi i posti, giusto?
‫Ma in realtà, di solito le dipendenze
‫globali che installiamo di solito sono sempre strumenti di sviluppo
‫perché sono quelle che hanno più senso installare
‫in quel modo, ancora perché di solito ci forniscono
‫come un bel programma di interfaccia a riga di comando.
‫Nel prossimo video, utilizzeremo quindi questa dipendenza che abbiamo installato qui in
‫realtà nel nostro codice in modo che
‫impari effettivamente come
‫includere un modulo di terze parti nel tuo codice.