Что делает эта команда "act-scripts eject"?

Что это npm run eject команда сделать? Я понимаю, что другие команды, такие как запуск, сборка, тестирование. Но понятия не имею об извлечении.

5 ответов

Решение

create-Reaction-app инкапсулирует все модули npm, которые он использует внутри, так что ваш package.json будет очень чистым и простым, и вам не придется об этом беспокоиться.

Однако, если вы хотите начать делать более сложные вещи и устанавливать модули, которые могут взаимодействовать с модулями, которые использует create-реагировать-приложение под капотом, эти новые модули должны знать, что доступно, а что нет, а это значит, что вам нужно создать-реагировать -app не абстрагировать их.

Это, по сути, это то, что react-scripts eject делает. Он перестанет скрывать то, что было установлено под капотом, и вместо этого вытолкнет эти вещи в package.json вашего проекта для всеобщего обозрения.

npm run eject

Примечание: это односторонняя операция. Однажды ты eject , ты не можешь вернуться!

Если вы не удовлетворены инструментом сборки и выбором конфигурации, вы можете eject в любое время. Эта команда удалит отдельную зависимость сборки из вашего проекта.

Вместо этого он скопирует все файлы конфигурации и транзитивные зависимости (Webpack, Babel, ESLint и т. Д.) Прямо в ваш проект, чтобы вы имели полный контроль над ними. Все команды, кроме eject все равно будет работать, но они будут указывать на скопированные сценарии, чтобы вы могли настроить их. На данный момент вы по своему усмотрению.

Вы не должны когда-либо использовать eject, Кураторский набор функций подходит для небольших и средних развертываний, и вы не должны чувствовать необходимость использовать эту функцию. Однако мы понимаем, что этот инструмент не будет полезен, если вы не сможете настроить его, когда будете к нему готовы.

ссылка на документацию


Альтернативы выбрасыванию

Извлечение позволяет вам настраивать что угодно, но с этого момента вы должны сами поддерживать конфигурацию и сценарии. Это может быть сложно, если у вас много похожих проектов. В таких случаях вместо извлечения мы рекомендуем раскошелиться react-scripts и любые другие пакеты, которые вам нужны. В этой статье подробно рассказывается, как это сделать. Вы можете найти больше обсуждений в этом выпуске.

eject: это расширенная операция, позволяющая вам настроить конфигурацию в Create-React-App(сценарии реакции)

Перед тем, как совершить катапультирование, вы должны понять последствия: это односторонняя операция!

Единственная причина, по которой я бы посоветовал вам сделать извлечение, это то, что: узнайте, как работает процесс сборки (create-response-app).

Еще одна вещь, которую вам нужно сделать перед извлечением, - это зафиксировать свой проект в git. Если ваш текущий проект еще не добавлен в git. npm run eject или же yarn eject не удастся.

Существуют пакеты, которые позволяют выполнять настройку без извлечения, действуя как промежуточное ПО между сценариями реакции и вашими настройками:

react-scriptsв основном инкапсулирует все конфигурации и шаблон в одной зависимости, поэтому вам не придется настраивать весь проект с нуля. Однако может быть случай, когда вы захотите переопределить эти конфигурации для настройки сборки или чего-то более конкретного. следовательно, он обеспечивает ejectфункциональность, чтобы вы могли контролировать эти конфигурации. Включая линт, объединение, разделение кода и т. Д.

Другие вопросы по тегам