Reaksiyon Yerli Projelerde Bağlanma ve Kütüphaneleri Nasıl Yönetilir
Table of Contents
Reaksiyon Yerlisinde Bağlanmaları Anlamak
Bağımlılıklar, projenizin işlevselliği, kolay gelişimi veya performansları eklemek için temel aldığı dış kütüphaneler veya modüllerdir.In Reaction Native, dependencies are tipik olarak npm or ip - JavaScript paket yöneticileri that handle library installation, updates, version control, and even native code linking. farklı olarak JavaScriptencies yerel bağımlılıklar (iOS CocoaPods, Android Gradle dosyaları) ile birlikte bağlıdır, bağımlılık yönetimi daha fazla nuanced yapar.
Bağımlılık iki kategoriye girer:
- [FONT=0)JavaScript bağımlılıklara bağlı olarak – saf JS kütüphaneleri (örneğin, [[0), [[ENFLT:1).
- [FONT=0)Native bağımlılıklar[Dönetici:0][Döneticiler[Döneticiler)[Döneticiler[Döneticiler:0)))[FONT=0)))))))))) Bu genellikle [[Döneticileri veya manuel Gradle değişiklikleri gibi ek yükleme adımlarına ihtiyaç duyar.
[FONT:0) Yerel dokümanlar) bir proje ve varsayılan bağımlılık ağacının başlangıçtaki ayrıntıları sunar.
Bağlanmalara bağlı olarak yükleme
Reaksiyon Yerli projesine yeni bir kütüphane eklemek için, paketin komutunu kullanın. Örneğin, installETHFLT:0)react-navigasyon[[Dönetici: 1) çalıştırın:
npm install @react-navigation/native @react-navigation/stack
veya iple:
yarn add @react-navigation/native @react-navigation/stack
Kurulumdan sonra, bazı kütüphaneler yerel kod bağlantı gerektirir. Reakt Yerli 0.60+, otomatik olarak en yerli bağımlılıkları otomatik olarak ele alır. ancak, bazı kütüphaneler (özellikle özel yerel görüş veya üçüncü taraf SDK'ları ile olanlar) hala manuel adımlar gerektirir:
- iOS için: CocoaPods pods kurmak için 9 veya 5 °T’yi çalıştırın.
- Android için: Kütüphanenin indirgeme: kütüphanenin indirgeciliği otomatik olarak birleştirilir, ancak kütüphanenin Reakt Yerli paketi otomatik olarak kayıt edilmezse veya değiştirilmelidir.
Kütüphanenin kurulum kılavuzuna her zaman göz atın - birçok popüler kütüphane, zaman çökmelerinden kaçınmak için adım atıyor.
npx tepki-natif bağlantı (Legacy) kullanarak
Reaksiyon Yerli < kullanarak projeler için;0.60, yerel bağımlılıkları ile 03.03.2012 ile bağlantı kurmak zorundasınız.Bu komut, Podfile ve/veyaİLFLT:13'inizi modize eder.Eğer bir miras projesini koruyorsanız, [[DövFLT:14.
Asmalara Göre Tasarruf Etmek
Varsayılan olarak, npm ve iplik, paketlerinizi sizin için yüklü paketler:0)package.json[FLT: 15) veya [[DÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜye Olmayanlar ve onların sürümlerini takip eder, diğer geliştiricileri veya dağıtım ortamlarının aynı paketi tek bir komutla aynı şekilde yüklemelerini sağlar ([FLT: 16).
Bir paket, açıkça bir bağımlılık olarak işaret etmeden yüklemediğinizde, sadece gelişim sırasında kullanılan araçlar için kaydedilir (örneğin, 03.03.2012).
npm install --save-dev package-name
yarn add --dev package-name
runtime ve Dev bağımlılıklar arasındaki açık bir ayrımı korumak, üretimde paket boyutunu azaltır ve uygulama mağazası arşivlerinde yapılama amaçlı kullanımlarını engeller.
Yönetim Bağlanma Versiyonları
Güncelleştirmelerinize neden olan beklenmedik sorunları önlemenize yardımcı olur.(=)>S.P.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.
- [[Düzg: 1.0.0 Yukarıdaki küçük veya yama versiyonunu kabul edin (örneğin 1.1.0, 1.2.5) ama 2.0.0 değil.
- [[Düzg: 1.0.0 (e.g., 1.0.1, 1.0.9) sadece 1,1,1,1,0,0,0,9, ancak 1.1.0 değil.
- [03.2015: 00.03.2012) - tam olarak sürüm 1.0.0 (gereksiz) ile karıştırın.
Üretim uygulamaları için, doğrudan bağlantılarınızı tam sürümlere (örneğin, 03., 03.03.2012) hesaplayın.Bir kilit dosyayı kullanın ([DÜDÜNÜDÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜN
Yeniden Çözme Version Çatışmaları
İki kütüphane aynı paketin farklı versiyonlarına ihtiyaç duyduğunda, çatışmaları çözmek için afır uyarıları veya koşu zaman hataları ile karşılaşabilirsiniz:
- [FONT:0]Npm ls paketi-name - bağımlılık ağacı gösterir ve tekrarlar çizer.
- [FONT:0)yarn neden paketin adı) – bir paketin neden kurulduğunu açıklıyor.
- [FONT=0]Nin dedupe[[DÜT:1) / [[Dönetici:2)yarn-deduplicate) - mümkün olan düzleştirilmiş paketler.
Reaksiyon Yerlisi için, “Native modülü bulunamadı” gibi şifreli hataların şifrelenmesine neden olabilir.
Hızlandırma Bağlanma
Düzenli olarak güncel bağımlılıklar güvenlik, performans ve yeni özellikler için önemlidir. aşağıdaki yaklaşımlar kullanın:
- [0]Minor/Patch güncelleştirmeleri: [FONTFLT:34 veya [[DÜCÜDÜDÜÇÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜye Olmayan değişiklikler için güvenli.
- [FONT=0]Major Güncellemeleri: [Dönetici: [Dönetici: 0,15|Döneticileri) ve çalıştırın.Re the library's changelog for break API changes.
- [FONT:0) Interaktif yükseltme:[Dönetici:[Dönetici:0) [Dönetici: [Dönetici: [Dönetici: , hangi paketlerin en son versiyonlarını görmek için ( ayrı olarak monte edildi)
Ana React Yerlisi'ni ([[DÜT:39) güncellemekte olduğunda, her zaman resmi )React Yerli yükseltme rehberi) ve projenizin şablon dosyalarına değişiklikler yapmak için [[ENFLT:40]. Test tamamen iOS ve Android simülatörü ve gerçek cihazlar üzerinde çalışır.
CI/CD ile Güncellemeler
Sürekli bir bütünleme hattında, iş yapan bir iş kurdular. ” veya [[DörtÜDÜŞÜNCÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞ
Kullanılmamış Bağımlılığı Yeniden Hareket Etmek
Bir kütüphane artık kullanılmadığında, onu paket boyutunu azaltmak ve bakımı basitleştirmek için ortadan kaldırmak:
npm uninstall library-name
yarn remove library-name
Kullanılmamış paketler, geçişli bağımlılıklar olup olmadığını ortadan kaldırmaktan sonra bile devam edebilir. RunurFLT:45) veya [[Dörekli paketler için ekstra paketler silmek için.
- [FONT:0]depcheck[[[Dönetici:0)[[[FONTT:1) – kodbase'inizde kullanılmamış bağımlılıkları tanımlayan bir araç.
- [FONT:0]npx tepki-native unlink kütüphanesi-name[[Dönetici: 1) - herhangi bir yerli bağlantı kurmak eserler kaldırır.
Bağımlılık Yönetimi için En İyi Uygulamalar
- [FONT:0)Yönergesel olarak gözden geçirme ve güncelleme bağımlılıkları.[DÜDÜT:1) Aylık bir “yeterlik denetim” – güvenlik danışmanları için kontrol ([DÜDÜŞÜNÜ YEŞÜNÜŞÜNÜŞÜNÜŞÜNÜDÜŞÜNÜ TÜSİAD)
- [FONT=0)En az gerekli olan değerlere bağlı kal.[Dönetici:0) Keep, tüm bir UI kitini ithal etmek yerine, iyi bakımlı alternatifler (örneğin, [[DüzDÜSÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜN
- [FONT:0) Güncellemeleri kontrol etmek için semantik sürüm kullanın.[FONTT:1) Pin büyük versiyonlar ve reproducability için kilit dosyalarına güven.
- [[0) Takip, bağımlılıkları güncellemeden sonra iyice test eder.[DDDDDDDDD:0) Testler, Run Unit testleri, entegrasyon testleri ve manuel UI testleri her iki platformda da test eder. Yerel modül davranışını değiştirmek için dikkat edin.
- [FONT=0)Maintain a CleanETHFLT:49) ve kilit dosyaları.[D:0) İçerenler için aynı yüklemeleri sağlamak için sürüm kontrolüne sahip olun.
- [FONT:0)Etkinliksel yüklemelere ve çalışma alanlarına ihtiyacınız varsa, npm üzerinde ipleme yapar.[0]Iy Berry (v2+) Plug'n'Play sunar, bu da hızlanır ve Reaksiyon ile uyumluluk kontrolleri gerektirebilir.
- [FONT:0]UseENFLT:52] [Dönderlik öncesi ortak bağımlılık ve çevre sorunları teşhis etmek için).
Yerli Bağımlıları CocoaPods ve Gradle ile Yönetin
iOS için, her zaman yerel pods. RunurFLT:54'in sürümlerini kilitlemek için bir Reaksiyon Yerli kütüphanesini yükseltmeniz için Android için, sizin için www.DÜcretsiz pod sürümünüzü almamasını sağlamak için geçerlidir.
Reaksiyon Yerlisi ile monorepos Kullanımı
Projeniz bir monorepo kullanırsa (örneğin, Nx, Turborepo, Lerna), iş alanları ile kök seviyesinde bağımlılıkları yönetin.Baklesiklik ile dikkatli olun - bazı Reaks Yerli kütüphaneler transit bağımlılık çatışmalarından kaçınmak için idealdir.
Ortak Pitfalls ve Them'dan Nasıl Kaçırmak
- [FONT:0) “Köpücü kurulumundan sonra modül bulamazsın: [Döntilmiş: 1] DeleteurFLT:59) ve yeni yükleme çalıştırın.Eğer ip kullanarak, silüce:61)
- [FONT:0]iOS bir kütüphane ekledikten sonra başarısız olur:) Size koştuğunuzu garanti edin: [FONT:62] ve kütüphanenin podfilesi doğru bir şekilde referanslanır. Check Xcode “önemlibrary bulunamadı” hataları için oturumlar inşa eder.
- [FONT:0) Android, kayıp ana modül nedeniyle zaman kazasında başarısız oldu: Kütüphanenin Android paketinin otomatik olarak kayıt altına alındığı veya manuel olarak eklendiğini teyit et:ENFLT:63).
- [FONT:0)Duplicate sembolü veya yöntem çatışmaları:) UseETHFLT:65) ve kütüphanelerden birini yükseltmek veya yükseltmekle yerel kodları çözmek.
Dış Kaynaklar
- [0]Yerel Resmi Dokümantasyona Karşı Çıkarmalar[Döneticiler).
- [0]))))
- [FONT=0)Yarn Use and Commands[Dönler: 1 )
- [FONT:0]Sc-ci-ve-CI için Güvenlik Denetimleri[Dönemli: 1 )
Etkili bağımlılık yönetimi, Reaksiyon Yerli projesinizi güvenli, verimli ve kullanılabilir bir şekilde tutmanıza yardımcı olur. Bu uygulamalardan sonra, eski veya uyumlu kütüphaneler tarafından kaynaklanan potansiyel sorunları azaltır ve ekibinizin bağımlılıkla savaşmak yerine bina özelliklerine odaklanmasına izin verir.