Що робить ця команда “response-scripts eject”?


106

Що робить npm run ejectкоманда? Я розумію, які інші команди люблять запускати, будувати, тестувати. Але поняття про викид немає.


2
як перевірити / перевірити, застосовано цю команду чи ні?
AlexNikonov

Відповіді:


157

create-response-app інкапсулює всі модулі npm, які він використовує всередині, так що ваш package.json буде дуже чистим і простим, не турбуючись про це.

Однак, якщо ви хочете почати займатися більш складними справами та встановлювати модулі, які можуть взаємодіяти з модулями create-response-app, який використовується під капотом, ці нові модулі повинні знати, що доступно, а що ні, тобто вам потрібно мати create-response -app зняти їх абстрактність.

Це, по суті, саме те, що react-scripts ejectробить. Він перестане приховувати те, що встановлено під капотом, а замість цього викидає ці речі в пакет.json вашого проекту, щоб усі бачили.


3
Відповідь @Sergii є більш точною. Eject стосується не лише модулів package.json та NPM, але й інших речей (babel, webpack, eslint тощо) github.com/facebook/create-react-app/blob/master/packages/…
Бруно Монтейро,

68
npm run eject

Примітка: це одностороння операція. Одного разу ти ejectвже не можеш повернутися!

Якщо вас не влаштовує інструмент збирання та вибір конфігурації, ви можете ejectв будь-який час. Ця команда видалить єдину залежність збірки з вашого проекту.

Натомість він скопіює всі файли конфігурації та транзитивні залежності (Webpack, Babel, ESLint тощо) прямо у ваш проект, щоб ви мали повний контроль над ними. Усі команди, крімeject і раніше, працюватимуть, але вони вказуватимуть на скопійовані сценарії, щоб ви могли їх налаштувати. На даний момент ви самостійно.

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

посилання на документацію


Альтернативи витягуванню

Видалення дозволяє налаштувати будь-що, але з цього моменту вам доведеться самостійно підтримувати конфігурацію та сценарії. Це може лякати, якщо у вас багато подібних проектів. У таких випадках, замість викидання, ми рекомендуємо виконувати форк react-scriptsта будь-які інші необхідні пакунки. Ця стаття описує, як це зробити поглиблено. Ви можете знайти більше обговорень у цьому випуску.


ми можемо повернутися, додавши ще разnpm install react-scripts
Ashish Kamble

Я повністю незадоволений обома цими підходами. У вас є давні залежності без видимих ​​причин. Обидва підходи приховують ці проблеми і спрямовують зусилля на розробку від проекту до тупикового коду. Належного управління залежністю немає заміни.
Арпад Магосані,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.