Co robi to polecenie „wyrzucenie skryptu reagującego”?


Odpowiedzi:


160

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 ejectpolega. 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ć.


3
Odpowiedź @Sergii jest dokładniejsza. Eject to nie tylko moduł package.json i NPM, ale także inne rzeczy (babel, webpack, eslint itp.) Github.com/facebook/create-react-app/blob/master/packages/…
Bruno Monteiro

69
npm run eject

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ć ejectw 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 ejectbę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-scriptsi inne potrzebne pakiety. W tym artykule szczegółowo opisano, jak to zrobić. Więcej dyskusji znajdziesz w tym numerze.


możemy wrócić, dodając ponownienpm install react-scripts
Ashish Kamble

Jestem całkowicie niezadowolony z obu tych podejść. Masz starożytne zależności bez wyraźnego powodu. Oba podejścia ukrywają te problemy i przenoszą wysiłki programistyczne z projektu na ślepy zaułek. Nic nie zastąpi właściwego zarządzania zależnościami.
Árpád Magosányi
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.