Puoi assolutamente condividere una directory node_modules tra i progetti.
Dalla documentazione di node :
Se l'identificativo del modulo passato a require () non è un modulo nativo e non inizia con "/", "../" o "./", il nodo inizia dalla directory padre del modulo corrente e aggiunge / node_modules e tenta di caricare il modulo da quella posizione.
Se non viene trovato lì, si sposta nella directory padre e così via, fino a raggiungere la radice del file system.
Ad esempio, se il file in '/home/ry/projects/foo.js' chiamato require ('bar.js'), il nodo cercherà nelle seguenti posizioni, in questo ordine:
/home/ry/projects/node_modules/bar.js /home/ry/node_modules/bar.js /home/node_modules/bar.js /node_modules/bar.js
Quindi metti una cartella node_modules nella directory dei tuoi progetti e inserisci i moduli che desideri. Basta richiederli come al solito. Quando node non trova una directory node_modules nella cartella del progetto, controllerà automaticamente la cartella principale. Quindi crea la struttura della tua directory in questo modo:
-myProjects
--node_modules
--myproject1
---sub-project
--myproject2
Quindi, in questo modo, anche le dipendenze del tuo sottoprogetto possono disegnare sul tuo repository principale node_modules.
Uno svantaggio di farlo in questo modo è che dovrai compilare manualmente il tuo file package.json (a meno che qualcuno non conosca un modo per automatizzarlo con grugnito o qualcosa del genere). Quando installi i tuoi pacchetti e aggiungi --save arg a un npm install
comando, lo aggiunge automaticamente alla sezione delle dipendenze o al tuo package.json, il che è conveniente.
require
modulo d. Altrimenti no, non esiste unanode_modules
cartella "centrale" ufficiale da utilizzare conrequire()
.