Ho una domanda sulle migliori pratiche nella gestione delle dipendenze nested npm.Gestione dipendenze npm npm
Lasciami spiegare la mia situazione, e per favore dimmi cosa sto facendo male, o qual è il modo migliore per avvicinarti a questo.
Sto eseguendo un'applicazione utilizzando express.js e express-mongostore in un nodeenv. A causa di nodeenv, sto eseguendo il npm di tutto a livello globale in modo che vadano tutti nella cartella nenv/lib/node_modules. Il fatto è che sto cercando di sviluppare bleed edge express.js mentre express-mongostore non è stato aggiornato da un po '. Dopo aver installato entrambi i moduli, ottengo questa struttura di cartelle.
nodeenv/lib/node_modules/express/node_modules/connect/..
/
/connect-mongodb/node_modules/ connect/...
Quindi, quello che succede è che ho 2 diverse versioni di connessione.
Mi sono bruciato perché il cookie generato dal negozio mongodb e quello generato dal middleware di sessione è diverso perché indicano 2 differenti implementazioni di connect utils (uno chiama il negozio che chiama utils e le altre chiamate utilmente direttamente. , indicano diversi file durante la risoluzione richiesta). La vera differenza qui è che firmano il cookie utilizzando diversi algoritmi. Per un po ', le mie sessioni si stavano invalidando a ogni caricamento della pagina e mi ci è voluto molto tempo per eseguire il debug a questo livello.
Stavo leggendo su Internet e sembra che questo dovrebbe essere il modo NPM e una buona cosa. Il problema qui è che poiché express si basa su un gruppo di utilità in connect e connect-mongodb eredita alcune delle stesse classi in connect, trovandole essere repository diversi è problematico.
Attualmente ho ancora 2 versioni di connessione e una patch per essere uguale all'altra. È ovvio che questa non è una soluzione sostenibile. Come devo procedere e affrontare la gestione delle dipendenze in questo caso?
Grazie in anticipo!