Table of Contents
Ominaisuuksien ymmärtäminen Recoct Nativessa
Riippuvuus on ulkoisia kirjastoja tai moduuleita, joihin projektisi perustuu, jotta voit lisätä toiminnallisuutta, tehostaa kehitystä tai parantaa suorituskykyä. React Nativessa riippuvuussuhteita hoidetaan tyypillisesti npm:n tai langan kautta ... JavaScript-pakettien managerit, jotka käsittelevät kirjaston asennusta, päivityksiä, versionhallintaa ja joskus jopa natiivin koodin linkittämistä. Toisin kuin standardiverkkosovellus, React Native -projektit usein nippuvat JavaScript-riippuvuussuhteista natiivien (iOS CocoaPods, Android Gradel -tiedostot), jolloin riippuvuushallinta on vivahtavampaa.
Riippuvuus jakautuu kahteen ryhmään:
- ]JavaScript-riippuvuus . Puhtaat JS-kirjastot (esim. ], ), jotka toimivat ilman alkuperäisiä konfiguraatioita.
- Natiiviriippuvuus[] . Kirjastot, jotka edellyttävät komennuksen natiivikoodiin (esim. ], ). Nämä vaativat usein lisäasetukset, kuten [ tai manuaaliset Gradel-muutokset.
React Native dokumentaatio antaa yksityiskohtaiset tiedot alustaminen hankkeen ja sen oletusriippuvuus puu.
Riippuvuussuhteiden asentaminen
Voit lisätä uuden kirjaston React Native -projektiisi, käytä pakettipäällikön asennuskomentoa. Esimerkiksi asentaaksesi []reaction-navigation[, suorita:
npm install @react-navigation/native @react-navigation/stack
tai langoilla:
yarn add @react-navigation/native @react-navigation/stack
Asennuksen jälkeen jotkut kirjastot vaativat natiivikoodin linkittämistä. React Native 0,60+:ssa automaattinen linkittäminen käsittelee automaattisesti useimpia natiiviriippuvuuksia. Tietyt kirjastot (erityisesti ne, joilla on omat omat näköalat tai kolmannen osapuolen SDK) vaativat kuitenkin manuaalisia toimenpiteitä:
- iOS: ajaa tai asentaa CocoaPods kapselit.
- Androidin osalta: kirjaston on automaattisesti yhdistetty, mutta voit joutua lisäämään arkiston tai muuntamaan , jos kirjaston ...
Tarkista aina kirjaston asennusopas ........................................................................................................................................................................................................................................................
Npx-reaction-natiivilinkin käyttö (Legacy)
Projekteissa, joissa käytetään React Native < 0,60, sinun täytyy liittää käsin natiiviriippuvuus . Tämä komento muuttaa Podfile-tiedostoasi ja/tai . Jos olet säilyttänyt perintöprojektin, harkitse siirtymistä auto-linkitykseen .
Riippuvuusten tallentaminen
Oletuksena on, että npm ja lanka tallentavat asennetut paketit [-pakettiisi.json[]-tiedostoon []- tai []-osioon. Tämä pitää kirjaa kaikista riippuvuuksista ja niiden versioalueista varmistaen, että muut kehittäjät tai käyttöympäristöt voivat asentaa saman joukon paketteja yhdellä komennolla ( tai ]).
Kun asennat paketin merkitsemättä sitä nimenomaisesti dev-riippuvuudeksi, se tallennetaan kohtaan . Vain kehitystyön aikana käytettävien työkalujen osalta (esim. ], , []), käyttö:
npm install --save-dev package-name
yarn add --dev package-name
Runtime- ja dev-riippuvuussuhteiden välisen selvän eron ylläpitäminen vähentää nippujen kokoa tuotannossa ja estää rakennusaikalaitteiden tahattoman sisällyttämisen sovellusvaraston arkistoon.
Riippuvuusversioiden hallinta
Täsmällisten versioiden määrittely [pakettiisi.json auttaa estämään päivityksistä aiheutuvat odottamattomat ongelmat. Voit käyttää semanttista versiota (semanttista versiota) päivitysten ohjaamiseen:
- . .....................................................................................................................................................................................................................................................
- ... ...................................................................................................................................................................................................................................................
- ... ...................................................................................................................................................................................................................................................
Tuotantosovelluksissa nastaa suorat riippuvuutesi tarkkoihin versioihin (esim. ) välttääksesi vahingossa tapahtuvat muutokset käytön aikana. Käytä lukitustiedostoa () tai ) taataksesi, että jokainen asennus tuottaa identtisiä puita.
Ratkaistaan versiokonfliktit
Kun kaksi kirjastoa vaativat saman paketin eri versioita, voit kohdata riippuvuusvaroituksia tai ajoaikavirheitä.
- pm ls paketti-nimi[] .
- yearn miksi paketti-nimi[] .
- npm dédupe / yarn-deduplicate[ .
React Nativen osalta erityistä huomiota on kiinnitettävä , tai -kodinkodinkodinkodinkodinkodinkodinkodinkonversioihin. Epäjohdonmukaiset versiot voivat aiheuttaa salattuja virheitä, kuten ...
Riippuvuuksien päivittäminen
Riippuvuussuhteiden säännöllinen päivittäminen on olennaista turvallisuuden, suorituskyvyn ja uusien ominaisuuksien saatavuuden kannalta.
- Minori/paikka päivitykset: [ tai ] .
- Major updates:[ manuaalisesti käännä versio ja suorita . Tarkista kirjaston muutosloki API-muutosten murtamiseksi.
- Interaktiivinen päivitys:[ käyttää (asennettu erikseen) nähdäkseen, mitkä paketit ovat uusimpia versioita, sitten valikoivasti päivittää.
Päivittäessä ydin React Native itse ([] paketti), aina seuraa virallista [React Native upgrade opas[] ja käyttää [] yhdistää muutokset projektin mallin tiedostoja. Testaa huolellisesti sekä iOS ja Android simulaattorit ja todelliset laitteet jälkeen merkittävä päivitys.
Automatoidaan päivitykset CI/CD:llä
Jatkuvassa integraatioputkessa perustetaan työ, joka toimii tai ajoittain, luo vetopyynnön pienille päivityksille ja käynnistää täydet testisviitit. Tämä estää riippuvuus mädäntymisen ja ylläpitää vakaata ympäristöä.
Käyttämättömien riippuvuuden poistaminen
Kun kirjastoa ei enää käytetä, poista se nippukoon pienentämiseksi ja huollon yksinkertaistamiseksi:
npm uninstall library-name
yarn remove library-name
Käyttämättömät paketit voivat viipyä :ssä myös poistamisen jälkeen, jos ne olivat transitiivisia riippuvuuksia. Aja tai [] poistaaksesi ylimääräisiä paketteja.
- depcheck[ . Työkalu, joka tunnistaa käyttämättömät riippuvuudet koodipohjassa.
- npx reaction-native unlink library-name[ (legacy) . Poistaa kaikki alkuperäisiä linkittäviä esineitä.
Riippuvuusjohtamisen parhaat käytännöt
- Säännöllisesti tarkistaa ja päivittää riippuvuussuhteita.[[ Aikataulu kuukausittain . Riippuvuustarkastus.
- Pidä riippuvuussuhteet minimiin vaadittuun.[ Vältä keittiön pesuallasta. Valitse kohdennettuja ja hyvin ylläpidettyjä vaihtoehtoja (esim. kuvakkeille koko käyttöliittymäpakkauksen tuonnin sijaan).
- Käytä semanttista versiota päivitysten ohjaamiseen.[ Pin-pääversiot ja luottakaa lukkotiedostoihin uusittavuutta varten.
- Testaa huolellisesti päivityksen jälkeen riippuvuussuhteet.[ Suorita yksikön testit, integrointitestit ja manuaalinen käyttöliittymätestaus molemmilla alustoilla. Kiinnitä huomiota muunneltuun modulin käyttäytymiseen.
- ]Pysy puhtaana ja lukitse tiedostot.[[] Vältä manuaalisia muokkausta, joka voi aiheuttaa epäjohdonmukaisuuksia.
- Vedä lankaa npm:n päälle, jos tarvitset deterministisia asennuksia ja työtiloja.[[ Lankamarja (v2+) tarjoaa Plug'n'Play-pelin, joka voi nopeuttaa asennusta, mutta saattaa vaatia yhteensopivuustarkistusta React Nativen kanssa.
- Käytä [] diagnosoidaksesi yhteisiä riippuvuus- ja ympäristöongelmia ennen vianetsintää.
Käsitteleminen intiaaniriippuvuudet kaakaopodit ja gradle
IOS:n osalta aina sitoudu lukitsemaan natiivien kapselien versiot. Suorita , kun päivität React Native -kirjaston saadaksesi viimeisimmän yhteensopivan kapseliversion. Android:n osalta varmista, että :ssasi ei ole ristiriitaisia tai :n arvoja kirjastoissa.
Yksirepojen käyttö Recot- natiivin kanssa
Jos projektissasi käytetään monorepoa (esim. Nx, Turborepo, Lerna), hallitse juuritason riippuvuuksia työtilojen kanssa. Ole varovainen nostaessasi joitakin React Native -kirjastoja voi vaatia vaihtoehtoja, joilla vältetään siirtymäriippuvuuskonflikteja.
Yhteinen pitfalls ja miten välttää niitä
- ]. Moduulia...................................................................................................................................................................................................................................................
- ]iOS-rakennus epäonnistuu, kun kirjastoon on lisätty:[] Varmista, että juoksit ja että kirjastoon on oikein viitattu. Tarkista Xcode-koodauslokit kirjastolle ei löytynyt virheitä.
- Androidin ajoaika kaatuu puuttuvan natiivimoduulin vuoksi:[ Varmista, että kirjastoon on rekisteröity Android-paketti automaattisesti tai että lisäsit sen käsin ].
- Kaksinkertainen symboli tai menetelmäristiriita:[] Käytä ja ratkaise keskenään ristiriidassa olevat koodit päivittämällä tai vähentämällä jotakin kirjastoista.
Ulkoiset resurssit
- Rekrytointi intiaanien virallinen asiakirja ... ..........................................................................................................................................................................................................................................
- pm asentaa komentorivi
- Opi käyttö ja komennot
- audit-ci ....................................................................................................................................................................................................................................................
Tehokas riippuvuushallinta auttaa pitämään React Native -projektisi turvallisena, tehokkaana ja ylläpidettävissä. Näiden käytäntöjen avulla voidaan tehostaa kehitystä, vähentää vanhentuneiden tai yhteensopimattomien kirjastojen aiheuttamia mahdollisia ongelmia ja antaa tiimisi keskittyä pikemminkin ominaisuuksien rakentamiseen kuin riippuvuushelvetin torjuntaan.