Le dipendenze rendono possibile un efficace riutilizzo del codice. Assicurati di sapere come gestirli nei tuoi progetti Node.

Una dipendenza è una parte di codice (una libreria, un modulo o un pacchetto) che un progetto richiede per funzionare correttamente.

In Node.js, dependencies e devDependencies sono categorie di pacchetti che puoi definire nel tuo file package.json per gestire le dipendenze del tuo progetto. Esplora le loro differenze e impara a usarle nei tuoi progetti.

Dipendenze regolari in un progetto npm

Le dipendenze regolari, o semplicemente le dipendenze, sono pacchetti richiesti dall'applicazione per funzionare come previsto in fase di esecuzione e negli ambienti di produzione.

Le dipendenze possono includere:

  • Librerie esterne che offrono funzionalità predefinite, come lodash.
  • Framework che forniscono una base o una struttura per la creazione di applicazioni, come Express o React.
  • Driver di database, come MongoDB o sqlite3.
  • Pacchetti che assistono nelle attività relative alla rete, come Axios o Socket.io.
instagram viewer

Ad esempio, se stai costruendo un file API CRUD con Express.js, esprimere sarà una delle tue dipendenze perché il tuo server ne ha bisogno per funzionare.

Per installare le dipendenze di runtime, puoi utilizzare un gestore di pacchetti come npm, il Node Package Manager, o Filato.

Le dipendenze esistono nell'oggetto dependencies in un file package.json. L'oggetto dipendenze memorizza i nomi e le versioni dei pacchetti.

Per installare un pacchetto come dipendenza utilizzando NPM, eseguire il comando seguente:

installazione npm 

Il comando sopra installa il pacchetto e lo registra come dipendenza del tuo progetto in pacchetto.json:

// pacchetto.json

"dipendenze": {
"nome del pacchetto": "^versione-pacchetto",
}

Quando si clona un progetto da un repository basato sul Web, è possibile installare le dipendenze eseguendo il comando seguente:

installazione npm

Quando esegui il comando sopra, il tuo gestore di pacchetti legge il file pacchetto.json file e installa le dipendenze e devDependencies specificate dal registro del pacchetto.

Dipendenze di sviluppo e come usarle

Le dipendenze di sviluppo, o devDepenendencies, sono pacchetti di cui l'applicazione ha bisogno solo durante il processo di sviluppo. In altre parole, non sono necessari nella produzione.

devLe dipendenze possono includere:

  • Framework di test, come Jest o Mocha.
  • Test Runner, come Chai.
  • Linter e formattatori, come Eslint.
  • Strumenti di documentazione, come Swagger.

Un esempio comune di devDepenedency è il pacchetto Nodemon, che riavvia il tuo server quando rileva modifiche nei tuoi script.

È possibile definire devDependencies sotto il file devDependencies oggetto in a pacchetto.json file. Questo oggetto memorizza i nomi e le versioni dei pacchetti.

Puoi installare un pacchetto come devDependency eseguendo questo comando:

installazione npm  --save-dev

In alternativa, puoi installare un pacchetto come devDependency eseguendo questo comando:

installazione npm -D 

Il comando sopra installa e registra il pacchetto nel tuo file pacchetto.json file, in questo modo:

// pacchetto.json
"devDependencies": {
"nome del pacchetto": "^versione-pacchetto"
}

Quando cloni un progetto da un repository basato sul Web, eseguendo il file installazione npm Il comando installerà anche devDependencies.

Tuttavia, eseguendo il comando con il file produzione flag installa solo le dipendenze.

Per esempio:

npm install --produzione

Quando esegui il comando sopra, il tuo gestore di pacchetti legge il file pacchetto.json file e installa le dipendenze dell'applicazione dal registro dei pacchetti.

In alternativa, puoi impostare il NODO_ENV variabile a "produzione” per ottenere gli stessi risultati.

Altri tipi di dipendenze

Oltre a dipendenze e devDependencies, Node.js classifica anche i pacchetti come peerDepenecies E facoltativo Dipendenze.

Dipendenze tra pari

Le dipendenze peer sono dipendenze che un pacchetto utilizza quando prevede che una versione specifica o una versione compatibile di un altro pacchetto sia presente nell'applicazione che lo utilizza.

Lo scopo delle dipendenze peer è garantire che un pacchetto funzioni correttamente con le sue dipendenze ed eviti conflitti o problemi di compatibilità.

Per le versioni di npm precedenti alla v7, le dipendenze peer non vengono installate automaticamente. Piuttosto il codice che include il pacchetto deve includerlo come dipendenza. Se il pacchetto non lo include, npm genererà un avviso.

Esistono sotto il peerDependencies oggetto nel file package.json:

"peerDependencies": {
"pacchetto": "^versione"
}

Dipendenze facoltative

Le dipendenze facoltative sono pacchetti che non sono essenziali per la funzionalità principale di un progetto ma che possono migliorarne le capacità se disponibili.

Poiché le dipendenze facoltative non sono necessarie per il corretto funzionamento del progetto, è possibile ometterle durante l'installazione.

L'esecuzione del comando seguente salterà le dipendenze facoltative durante il processo di installazione:

installazione npm --omit=opzionale

Esistono sotto il facoltativo Dipendenze oggetto nel file package.json:

"opzionaleDipendenze": {
"pacchetto": "^versione"
}

Le categorie semplificano la gestione delle tue dipendenze

Comprendere, gestire e classificare in modo efficace le dipendenze aiuta a garantire una chiara separazione tra i pacchetti richiesti per la produzione e quelli necessari solo durante lo sviluppo.

Questa distinzione aiuta una gestione efficiente delle dipendenze, un corretto raggruppamento e una distribuzione semplificata del progetto.