Katalog główny mojego projektu węzła znajduje się w katalogu, który sam jest katalogiem głównym innego projektu węzła. Tak więc oba foldery zawierają package.json
i node_modules
. Problem polega na tym, że w projekcie wewnętrznym, czasami I require
moduły nie są zainstalowane w tym projekcie. Ale Node po cichu znajduje je w projekcie nadrzędnym node_modules
, co prowadzi do irytujących niespodzianek. Czy mogę jakoś temu zapobiec? Nie chciałbym zmieniać struktury katalogów projektów, chyba że jest to jedyne rozwiązanie.Zapobiegnij wymaganiu (...) od wyszukiwania modułów w katalogu nadrzędnym
6
A
Odpowiedz
6
Węzeł próbuje rozwiązać bieżącą nazwę ścieżki modułu i łączy node_modules
z każdym katalogiem nadrzędnym. [Source].
Możesz zastąpić tę metodę u góry modułu projektu i dodać logikę, aby wykluczyć katalogi nadrzędne z tablicy ścieżek wyników.
//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;
};
zainspirowany this module
Powiązane problemy
- 1. Projekt wielu modułów maven z nadrzędnym układem pom i svn
- 2. Wstrzykiwanie zależności od modułów
- 3. Gradle: jak skonfigurować lokalizację słoika w katalogu nadrzędnym projektu?
- 4. Python: jak zaimportować ze wszystkich modułów w katalogu? Struktura
- 5. Dlaczego nie można znaleźć modułów wyszukiwania TypeScript zainstalowanych w 'node_modules'?
- 6. Uzyskaj wartość od wyszukiwania C#
- 7. Generowanie odwzorowania XML rekursywnego wyszukiwania katalogu
- 8. Wykonywanie wyszukiwania w całym katalogu w Sublime Text 2?
- 9. nadrzędnym zsynchronizowanych metod w Javie
- 10. Jak dodać ścieżkę do kolejki wyszukiwania w katalogu DLL
- 11. Rozpocznij zapytanie wyszukiwania Google od działania - Android
- 12. Swift - UIButton nadrzędnym setSelected
- 13. Zamykanie jquery kliknięciem nadrzędnym
- 14. ShowDialog() za oknem nadrzędnym
- 15. Niezależny od platformy sposób uzyskania katalogu czcionek?
- 16. Dziedziczenie w javascript, zmienne w "nadrzędnym"
- 17. Konfigurowanie modułów z RequireJS przy konfiguracji zależy od RequireJS
- 18. Łańcuch wyszukiwania w języku SQL zaczyna się od
- 19. Załaduj plik z katalogu nadrzędnego
- 20. powołanie "Base-Getter" w nadrzędnym Getter Własności
- 21. wyzwalania zdarzenia kliknięcia w oknie nadrzędnym iframe
- 22. Wyświetl okno dialogowe jquery w oknie nadrzędnym
- 23. Przełączanie fragmentów w przepływie nadrzędnym/szczegółowym
- 24. Ustaw zmienną w oknie nadrzędnym z iframe
- 25. Angular 2 wiele modułów
- 26. Python nadrzędnym getter bez seter
- 27. Wiele modułów w Angularjs
- 28. Strategia wyszukiwania duplikatów w drzewie wyszukiwania binarnego
- 29. NodeJS wymagające modułów
- 30. Pozyskiwanie plików Puppet spoza modułów
Wymagaj nie będzie przechodzić w górę drzewa ścieżki. Czy możesz opublikować swoją strukturę plików? –
Zobacz https://nodejs.org/api/modules.html#modules_loading_from_node_modules_folders – thorn
To nie jest twoja struktura folderów. –