Co robi npm run eject
polecenie? Rozumiem, jakie inne polecenia lubią start, build, test. Ale nie mam pojęcia o wyrzucaniu.
reactjs
webpack
create-react-app
react-scripts
Ishan Patel
źródło
źródło
Odpowiedzi:
create-act-app hermetyzuje wszystkie moduły npm, których używa wewnętrznie, dzięki czemu Twój plik package.json będzie bardzo czysty i prosty, bez martwienia się o to.
Jeśli jednak chcesz zacząć robić bardziej złożone rzeczy i instalować moduły, które mogą wchodzić w interakcje z modułami, których aplikacja create-react-app używa pod maską, te nowe moduły muszą wiedzieć, co jest dostępne, a co nie, co oznacza, że musisz mieć możliwość tworzenia-reagowania -app un-abstract je.
Na tym właśnie
react-scripts eject
polega. Przestanie ukrywać to, co zostało zainstalowane pod maską, i zamiast tego wyrzuci te rzeczy do pliku package.json twojego projektu, aby wszyscy mogli je zobaczyć.źródło
Uwaga: jest to operacja jednokierunkowa. Kiedy już będziesz
eject
, nie możesz wrócić!Jeśli nie jesteś zadowolony z narzędzia do kompilacji i opcji konfiguracji, możesz to zrobić
eject
w dowolnym momencie. To polecenie spowoduje usunięcie pojedynczej zależności kompilacji z projektu.Zamiast tego skopiuje wszystkie pliki konfiguracyjne i zależności przechodnie (Webpack, Babel, ESLint itp.) Bezpośrednio do twojego projektu, abyś miał nad nimi pełną kontrolę. Wszystkie polecenia z wyjątkiem
eject
będą nadal działać, ale będą wskazywać na skopiowane skrypty, aby można było je dostosować. W tym momencie jesteś sam.Nie musisz nigdy używać
eject
. Wyselekcjonowany zestaw funkcji jest odpowiedni dla małych i średnich wdrożeń i nie powinieneś czuć się zobowiązany do korzystania z tej funkcji. Rozumiemy jednak, że to narzędzie nie byłoby przydatne, gdybyś nie mógł go dostosować, gdy jesteś na to gotowy.link do dokumentacji
Alternatywy dla wyrzucania
Wysuwanie pozwala dostosować wszystko, ale od tego momentu musisz samodzielnie zarządzać konfiguracją i skryptami. Może to być trudne, jeśli masz wiele podobnych projektów. W takich przypadkach zamiast wysuwania zalecamy rozwidlenie
react-scripts
i inne potrzebne pakiety. W tym artykule szczegółowo opisano, jak to zrobić. Więcej dyskusji znajdziesz w tym numerze.źródło
npm install react-scripts