Zastanawiam się, czy użycie require()
w pliku node.js było równoważne z leniwym ładowaniem?Leniwe ładowanie w pliku node.js
Na przykład, gdy miałem funkcję, która wymagała określonego pakietu node.js, który nie był potrzebny nigdzie indziej w moim kodzie, najlepiej użyć require()
wewnątrz tej funkcji, aby dołączyć potrzebny pakiet tylko wtedy, gdy ta funkcja jest wywoływana .
Nie jestem również pewien, czy zapewni to poprawę wydajności, biorąc pod uwagę mój brak zrozumienia wokół architektury node.js? Zakładam, że zużyje mniej pamięci na połączenie z moim serwerem. Czy jednak zwiększy liczbę operacji wejścia/wyjścia na dysku, gdy będzie musiał odczytać pakiet, czy może to być jednorazowe, aby uzyskać je w pamięci?
Jeśli tak, to jak daleko powinienem to zrobić, czy powinienem próbować napisać pakiety node.js na tyle ile mogę?
Dzięki Peter, to sprawiło, że wszystko zrobić dużo więcej sensu. –
Wczesne ładowanie nie ma sensu w przypadku narzędzi CLI (z wyjątkiem testów, w których można je tymczasowo wyłączyć). – sheerun
@PeterLyons możesz mi wytłumaczyć wiersz "Węzeł jest jednokrotnym gwintem, więc ślad pamięci przy ładowaniu modułu nie jest zależny od połączenia, jest to proces w trakcie procesu. Ładowanie modułu jest jednorazowe, aby go załadować do pamięci". Rozumiem, co to jest pojedynczy wątek, czy chcesz powiedzieć, że niezależnie od liczby połączeń z serwerem, dany moduł zostanie załadowany tylko raz w całej aplikacji? – Deepak