Error: Cannot find module '<nazwa>'
Skryptowi brakuje elementów potrzebnych do działania — zwykle został pobrany z GitHuba bez swoich dodatków.
Zrób najpierw to
Weź od sprzedawcy porządne wydanie zamiast pobrania kodu źródłowego.
Co to znaczy
Zasób w JavaScripcie poprosił o pakiet, którego nie ma. FXServer uruchamia Node dla server_scripts kończących się na .js i rozwiązuje moduły z własnego node_modules zasobu.
Co to powoduje
Uszeregowane według tego, jak często są odpowiedzią.
- 1
node_modules nigdy nie został zainstalowany
Zasób przyszedł ze swoim
package.json, ale bez zależności. Publikowane zasoby zwykle je dołączają; zasób z GitHuba zwykle nie. - 2
To wbudowany moduł Node'a, którego FXServer nie udostępnia
Node we FXServerze to nie pełna instalacja Node'a. Części wbudowanych modułów nie ma.
- 3
Zła ścieżka względna
require('./utils'), kiedy plik to./lib/utils.js. Liczy się i rozszerzenie, i wielkość liter. - 4
Pomieszane ESM i CommonJS
importw pliku ładowanym jako CommonJS albo odwrotnie. Błąd potrafi wyjść jako brakujący moduł. - 5
node_modules zainstalowany pod inną platformę
Moduł natywny zbudowany na Windowsie, skopiowany na serwer linuksowy.
Jak poznać, który jest twój
Poszukaj folderu:
ls moj-skrypt/node_modules | head
Całkowity brak to przyczyna 1. Obecny, ale bez tego jednego nazwanego pakietu, to niedokończona instalacja.
Gdzie szukać
package.json zasobu i jego node_modules.
Jak to naprawić
Zainstaluj wewnątrz folderu zasobu:
cd resources/moj-skrypt npm install --omit=dev
Potem zrestartuj serwer. Instalacja w katalogu głównym serwera nie pomoże — rozwiązywanie zaczyna się od zasobu.
Wciąż utknąłeś na własnym kodzie?
Ta strona mówi, co ten błąd zwykle oznacza. Wklej swoją konsolę do Server Fixera, a uszereguje wszystko, co w niej jest, i powie, co zrobić najpierw; a jeśli wolisz tego nie ruszać, ORBIE naprawi skrypt i odda ci zasób gotowy do wrzucenia.
bug_reportOtwórz Server FixerDla tego rodzaju błędu Script Optimizer czyta skrypt i naprawia kod stojący za tym.