Bu "react-scripts eject" komutu ne işe yarar?


115

Ne geliyor npm run ejectkomut mı? Başlamak, inşa etmek, test etmek gibi diğer komutların nelerden hoşlandığını anlıyorum. Ama çıkarma hakkında hiçbir fikrim yok.


2
bu komutun uygulanıp uygulanmadığını nasıl kontrol edebilirim / doğrulayabilirim?
AlexNikonov

Yanıtlar:


168

create-react-app, dahili olarak kullandığı tüm npm modüllerini kapsüller, böylece package.json dosyanız, endişelenmenize gerek kalmadan çok temiz ve basit olacaktır.

Bununla birlikte, daha karmaşık şeyler yapmaya ve modüller ile etkileşime girebilecek modülleri kurmaya başlamak istiyorsanız create-react-app başlık altında kullanıyorsa, bu yeni modüllerin neyin mevcut olup olmadığını bilmesi gerekir, yani yaratma-tepki vermeniz gerekir. -app soyut onları kaldırın.

Esas itibarıyla, budur react-scripts eject. Kaputun altına ne taktığını saklamayı bırakacak ve bunun yerine bunları herkesin görmesi için projenizin package.json'a atacaktır.


3
@Sergii cevabı daha doğru. Eject yalnızca package.json ve NPM modülleri ile ilgili değildir, başka şeyler de içerir (babel, webpack, eslint, vb.) Github.com/facebook/create-react-app/blob/master/packages/…
Bruno Monteiro

73
npm run eject

Not: bu tek yönlü bir işlemdir. Bir kez sen ejectgeri dönemezsin!

Derleme aracından ve yapılandırma seçeneklerinden memnun değilseniz eject, istediğiniz zaman yapabilirsiniz . Bu komut, projenizden tek yapı bağımlılığını kaldıracaktır.

Bunun yerine, tüm yapılandırma dosyalarını ve geçişli bağımlılıkları (Webpack, Babel, ESLint, vb.) Doğrudan projenize kopyalayacaktır, böylece bunlar üzerinde tam kontrole sahip olursunuz. Haricindeki tüm komutlar ejecthala çalışacak, ancak kopyalanan komut dosyalarına işaret edecekler, böylece onları ince ayar yapabilirsiniz. Bu noktada kendi başınasın.

Hiç kullanmak zorunda değilsin eject. Küratörlü özellik seti, küçük ve orta ölçekli dağıtımlar için uygundur ve bu özelliği kullanmak zorunda hissetmemelisiniz. Ancak, hazır olduğunuzda özelleştiremezseniz bu aracın yararlı olmayacağını anlıyoruz.

belgelere bağlantı


Çıkarma Alternatifleri

Çıkarma , her şeyi özelleştirmenize izin verir, ancak bu noktadan sonra yapılandırmayı ve komut dosyalarını kendiniz korumanız gerekir. Birçok benzer projeniz varsa, bu göz korkutucu olabilir. Bu gibi durumlarda, çıkarmak yerine çatal react-scriptsve ihtiyacınız olan diğer paketleri öneriyoruz . Bu makale , nasıl yapılacağını derinlemesine anlatıyor. Bu sayıda daha fazla tartışma bulabilirsiniz .


tekrar eklemeyi kullanarak geri dönebiliriznpm install react-scripts
Ashish Kamble

Bu yaklaşımların her ikisinden de tamamen memnun değilim. Görünür bir nedeni olmayan eski bağımlılıklarınız var. Her iki yaklaşım da bu sorunları gizler ve geliştirme çabalarını projeden çıkmaz koda odaksız hale getirir. Uygun bağımlılık yönetiminin yerini hiçbir şey tutamaz.
Árpád Magosányi

create-react-app'in sürümü Git tarafından oluşturulmuşsa, değişiklikleri kontrol ederek / sıfırlayarak geri dönebilir miyiz?
Dendi Handian

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.