Zaczynam pracę z webpackze node/expressśrodowiskiem rozwijającym się ReactJSpo stronie serwera aplikacji ze świadczonych react-router. Jestem bardzo zdezorientowany co do roli każdego pakietu webpack w środowiskach deweloperskich i prod (runtime).
Oto podsumowanie mojego zrozumienia:
webpack: Jest pakietem, narzędziem do łączenia różnych elementów aplikacji internetowej i umieszczania ich w jednym pliku .js (zwykle bundle.js). Plik wynikowy jest następnie udostępniany w środowisku produkcyjnym w celu załadowania przez aplikację i zawiera wszystkie niezbędne komponenty do uruchomienia kodu. Funkcje obejmują zmniejszanie kodu, minifikację itp.
webpack-dev-server: To pakiet oferujący serwerowi przetwarzanie plików witryny internetowej. Tworzy również pojedynczy plik .js ( bundle.js) z komponentów klienta, ale podaje go w pamięci. Ma również opcję ( -hot), aby monitorować wszystkie pliki budowania i budować nowy pakiet w pamięci w przypadku zmian w kodzie. Serwer jest obsługiwany bezpośrednio w przeglądarce (np.:) http:/localhost:8080/webpack-dev-server/whatever. Połączenie ładowania pamięci, przetwarzania na gorąco i obsługi przeglądarki pozwala użytkownikowi zaktualizować aplikację w przeglądarce, gdy zmienia się kod, co jest idealne dla środowiska programistycznego.
Jeśli mam wątpliwości co do powyższego tekstu, to naprawdę nie jestem pewien co do treści poniżej, więc w razie potrzeby proszę o informację
Częstym problemem podczas używania programu webpack-dev-serverz node/expressjest to, że webpack-dev-serverjest to serwer node/express. To sprawia, że to środowisko jest trudne do uruchomienia zarówno klienta, jak i kodu węzła / ekspresu (API itp.). UWAGA: To jest to, z czym miałem do czynienia, ale wspaniale byłoby zrozumieć, dlaczego dzieje się to bardziej szczegółowo ...
webpack-dev-middleware: Jest to oprogramowanie pośredniczące z tymi samymi funkcjami webpack-dev-server(łączenie w pamięci, ponowne ładowanie na gorąco), ale w formacie, który można wstrzyknąć do server/expressaplikacji. W ten sposób masz swego rodzaju serwer (the webpack-dev-server) insider the node server. Ups: Czy to szalony sen ??? Jak ten kawałek może rozwiązać równanie deweloperskie i prod i uprościć życie
webpack-hot-middleware: To ... Utknąłem tutaj ... znalazłem ten kawałek, szukając webpack-dev-middleware... Nie mam pojęcia, jak go użyć.
ENDNOTE: Przepraszam, czy jest jakieś błędne myślenie. Naprawdę potrzebuję pomocy, aby zrozumieć te warianty w złożonym środowisku. Jeśli jest to wygodne, dodaj więcej pakietów / danych, które utworzą cały scenariusz.
webpack-dev-middleware(i potencjalniewebpack-hot-middleware), gdybyś chciał napisać własny niestandardowy serwer programistyczny. Jeśli nie ma określonej funkcji, której chcesz, awebpack-dev-serverktórej nie masz, powinieneś po prostu jej użyć.