La directory principale del mio progetto Node si trova in una directory che è essa stessa una radice di un altro progetto di nodo. Quindi entrambe le cartelle contengono package.json
e node_modules
. Il problema è che nel progetto interno, a volte I moduli require
non sono installati in questo progetto. Ma Node li trova solo silenziosamente nel progetto node_modules
del genitore che porta a fastidiose sorprese. Posso in qualche modo impedirgli di farlo? Mi piacerebbe non modificare la struttura delle directory dei progetti a meno che non sia l'unica soluzione.Impedire di richiedere (...) di cercare i moduli nella directory superiore
6
A
risposta
6
Il nodo tenta di risolvere il nome del percorso del modulo corrente e concatena node_modules
in ciascuna directory principale. [Source].
È possibile sovrascrivere questo metodo nella parte superiore del modulo del progetto e aggiungere una logica per escludere le directory madri dall'array del percorso del risultato.
//app.js <-- parent project module, should be added at the top
var Module = require('module').Module;
var nodeModulePaths= Module._nodeModulePaths; //backup the original method
Module._nodeModulePaths = function(from) {
var paths = nodeModulePaths.call(this, from); // call the original method
//add your logic here to exclude parent dirs, I did a simple match with current dir
paths = paths.filter(function(path){
return path.match(__dirname)
})
return paths;
};
ispirato this module
Problemi correlati
- 1. I moduli nodo possono richiedere l'uno l'altro
- 2. specificare la directory in cui gfortran dovrebbe cercare moduli
- 3. Impedire automaticamente a Sublime di cercare
- 4. Come impedire a Visual Studio di bloccare i file di documentazione xml nella directory bin?
- 5. Importare tutti i moduli in una directory
- 6. Come richiedere correttamente i moduli dal file mocha.opts
- 7. Impedire PHP di accedere alla directory padre
- 8. Richiedere la dipendenza di un'altra dipendenza nei moduli di nodo
- 9. cercando di richiedere active_support nella gemma
- 10. Modo più semplice/one-liner per richiedere tutti i file nella directory in Ruby?
- 11. Importare un modulo da una directory (pacchetto) di livello superiore
- 12. sposta un commit nella parte superiore di tutti i commit
- 13. Ruby: come "richiedere" un file dalla directory di lavoro corrente?
- 14. Come impedire la navigazione nella directory del bucket s3?
- 15. Il modo migliore per richiedere più moduli in NodeJS
- 16. Come impedire i valori ripetuti nella tabella di iReport-3.6.7?
- 17. Come impedire a MMAP di memorizzare i valori nella cache?
- 18. Utilizzo di jQuery per impedire l'invio di moduli quando i campi di input sono vuoti
- 19. Come cercare all'indietro nella shell di emacs?
- 20. find() o figli() per cercare solo i bambini di livello superiore per uno stile?
- 21. Fine di funzioni superiore nella gerarchia delle
- 22. Avere .gitignore per NON ignorare un file .htaccess nella directory di livello superiore
- 23. intellij come trovare/cercare una cartella/directory/nome pacchetto
- 24. React Native: importazione di moduli all'esterno della directory di progetto
- 25. iPhone: spazio strano nella parte superiore di UINavigationController
- 26. Come impedire al webpack di generare file compilati nella directory sorgente
- 27. Come posso richiedere moduli con pattern nel percorso?
- 28. I casi JsUnit devono trovarsi nella stessa directory di JsUnit?
- 29. QTCreator copia i file nella directory di output con INSTALLS
- 30. I singoli fogli di stile devono essere nella directory sass
Richiede non attraversare l'albero percorso. Puoi pubblicare la tua struttura di file? –
Vedere https://nodejs.org/api/modules.html#modules_loading_from_node_modules_folders – thorn
Questa non è la struttura della cartella. –