뭐라고합니까 npm run eject
명령은 무엇입니까? 다른 명령이 시작, 빌드, 테스트와 같은 기능을 이해합니다. 그러나 꺼내는 것에 대해서는 전혀 모릅니다.
답변
create-react-app은 내부적으로 사용하는 모든 npm 모듈을 캡슐화하므로 package.json은 걱정할 필요없이 매우 깨끗하고 간단합니다.
그러나 더 복잡한 작업을 시작하고 모듈과 상호 작용할 수있는 모듈을 설치하려면 create-react-app이 내부에서 사용하고있는 경우 이러한 새 모듈은 사용 가능한 것이 무엇인지 알아야합니다. 즉, create-react가 있어야합니다. -app un-abstract 그들을.
본질적으로 그것이하는 일입니다 react-scripts eject
. 그것은 후드 아래에 설치된 것을 숨기는 것을 멈추고 대신 모든 사람들이 볼 수 있도록 프로젝트의 package.json에 이러한 것들을 배출합니다.
답변
npm run eject
참고 : 이것은 단방향 작업입니다. 일단 당신 eject
은 돌아갈 수 없습니다!
빌드 도구 및 구성 선택이 만족스럽지 않은 경우 eject
언제든지 가능합니다. 이 명령은 프로젝트에서 단일 빌드 종속성을 제거합니다.
대신 모든 구성 파일과 전이 종속성 (Webpack, Babel, ESLint 등)을 프로젝트에 바로 복사하여 전체 제어 권한을 갖습니다. 제외한 모든 명령 eject
은 여전히 작동하지만 복사 된 스크립트를 가리 키므로 조정할 수 있습니다. 이 시점에서 당신은 당신 자신입니다.
을 사용할 필요가 없습니다 eject
. 선별 된 기능 세트는 중소 규모 배포에 적합하며이 기능을 사용할 의무가 없다고 느껴서는 안됩니다. 그러나 준비가되었을 때 사용자 정의 할 수없는 경우이 도구가 유용하지 않다는 것을 알고 있습니다.
꺼내기의 대안
꺼내면 무엇이든 사용자 정의 할 수 있지만 그 시점부터 구성과 스크립트를 직접 유지해야합니다. 유사한 프로젝트가 많은 경우 이는 어려울 수 있습니다. 이러한 경우에는 꺼내는 대신 포크 react-scripts
및 기타 필요한 패키지를 사용하는 것이 좋습니다 . 이 기사에서는이 를 수행하는 방법에 대해 자세히 설명합니다. 이 문제 에서 더 많은 토론을 찾을 수 있습니다 .