Ho una semplice applicazione di nodo che ha una dipendenza singola su un'altra app su github. La dipendenza si installa perfettamente con npm install
, ma quando provo a richiedere qualcosa installato lì, dice che non è disponibile. Ad esempio, l'applicazione github installa Mongoose come dipendenza. Ho pensato che questo app genitore sarebbe in grado di accedere a tale modulo dal momento che è in un bambino:Richiedere la dipendenza di un'altra dipendenza nei moduli di nodo
var mongoose = require('mongoose')
La struttura sembra qualcosa di simile:
/app
/node_modules
/github_dependency [parent module]
/node_modules
/mongoose [child module]
fare mi resta che includere mangusta come dipendenza anche nell'app genitore o c'è un modo per accedere a quel modulo tramite il bambino?
Grazie, noi' Seguirò questa convenzione. Una cosa che volevo menzionare, potrebbe teoricamente comportare dipendenze multiple e duplicate nel progetto? –
Potrebbe e in genere si avranno diverse istanze di diversi moduli (e versioni di essi) in un progetto di nodo. Questo è uno dei punti di forza dell'nm IMO, dopo aver trascorso una considerevole parte degli anni '80 a elaborare dei nodi nei caricatori di classi di diversi contenitori Java ... –
C'è una buona ragione per usare questa tecnica. Se si esegue una richiesta di ('github/node_modules/mongoose'), si sta utilizzando la stessa istanza di mangusta che github sta usando, quindi si condivide il suo pool di connessioni. Questa tecnica è anche utile per assicurarti di utilizzare le stesse versioni. –