window.pipedriveLeadboosterConfig = { base: pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster on jo olemassa') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Ensiapu rikkoutuneisiin JavaScript-riippuvuuksiin - The Codest
Codest
  • Tietoa meistä
  • Palvelut
    • Ohjelmistokehitys
      • Frontend-kehitys
      • Backend-kehitys
    • Staff Augmentation
      • Frontend-kehittäjät
      • Backend-kehittäjät
      • Tietoinsinöörit
      • Pilvi-insinöörit
      • QA insinöörit
      • Muut
    • Se neuvoa-antava
      • Tilintarkastus & konsultointi
  • Toimialat
    • Fintech & pankkitoiminta
    • E-commerce
    • Adtech
    • Terveysteknologia
    • Valmistus
    • Logistiikka
    • Autoteollisuus
    • IOT
  • Arvo
    • TOIMITUSJOHTAJA
    • CTO
    • Toimituspäällikkö
  • Tiimimme
  • Tapaustutkimukset
  • Tiedä miten
    • Blogi
    • Tapaamiset
    • Webinaarit
    • Resurssit
Työurat Ota yhteyttä
  • Tietoa meistä
  • Palvelut
    • Ohjelmistokehitys
      • Frontend-kehitys
      • Backend-kehitys
    • Staff Augmentation
      • Frontend-kehittäjät
      • Backend-kehittäjät
      • Tietoinsinöörit
      • Pilvi-insinöörit
      • QA insinöörit
      • Muut
    • Se neuvoa-antava
      • Tilintarkastus & konsultointi
  • Arvo
    • TOIMITUSJOHTAJA
    • CTO
    • Toimituspäällikkö
  • Tiimimme
  • Tapaustutkimukset
  • Tiedä miten
    • Blogi
    • Tapaamiset
    • Webinaarit
    • Resurssit
Työurat Ota yhteyttä
Takaisin nuoli PALAA TAAKSE
2018-12-27
Ohjelmistokehitys

Ensiapu rikkoutuneisiin JavaScript-riippuvuuksiin

Daniel Grek

Jos olet ohjelmistokehittäjä, tiedät luultavasti jo, että yksi monista rooleistasi ei todellakaan ole olla jälleen yksi pyörän keksijä. Ainakaan useimmissa tapauksissa.

Haluaisin kirjoittaa JavaScript riippuvuudet. Aloitetaan kuitenkin alusta. Jos olet ohjelmistokehittäjä, tiedät luultavasti jo, että yksi monista rooleistasi ei todellakaan ole olla jälleen yksi pyörän keksijä. Et ainakaan useimmissa tapauksissa. Maailma on edennyt sen verran pitkälle, että nykyään on olemassa paketteja lähes kaikkeen, mikä helpottaa ja tehostaa kehitystämme.

Tämä ei tietenkään kannusta menettämään kiinnostusta muihin asioihin - jokaisella paketilla on melko paljon tilaa parantua ja kehittyä. Liiketoimintasi tavoitteena on kuitenkin tuoda täydellinen tuote lautaselle juuri ajoissa tai jopa ennen kuin se on ylhäällä. Paketit auttavat sinua toteuttamaan nämä suunnitelmat, tuoden mukanasi npm tai lanka parhaiden ystäviesi listan kärjessä, mutta ole tietoinen siitä, että mikä tahansa ratkaisu, kuten tämäkin, voi tuoda mukanaan myös riskejä. Ja me yritämme kuvata sitä ja näyttää sinulle paremman tavan selvitä siitä alla olevassa artikkelissa.

Aloitetaan tarinalla...

Kuvittele suuri JavaScript projekti. Liiketoimintavaatimus velvoittaa kehittäjät käyttämään tiettyä pakettia, joka mahdollistaa asianmukaisen integroinnin asiakkaan toisen järjestelmän kanssa. Ja se on täysin oikein. MVP on tuotu ajoissa, seuraava sopimus on allekirjoitettu ja kehitys jatkuu.. Asiakas pyytää integroimaan järjestelmän seuraavan osan, joka edellyttää pakettisi päivitystä.

Tämä osa sujuu hyvin, kunnes testit tehdään. Näyttää siltä, että paketti sisältää yksinkertaisen, mutta epämukavan bugin, jota ei ole vielä korjattu missään tuoteversiossa, ja tiedetään, että näin ei tapahdu tarpeeksi pian. Et voi vain korjata node_modules hakemisto - se pitäisi poistaa arkistostasi seurannasta, joten yhteistyökumppanisi eivät koskaan saa tietää mitään muutoksistasi! No, tätä lukiessasi olet luultavasti jo ymmärtänyt, mitä pitää tehdä - haarukoida. Mutta tarvitsetko todella tällaista vasaraa?

Ymmärrä ongelmasi

Sinun on oltava tietoinen siitä, koskeeko kohtaamasi ongelma vain sinua vai laajempaa yhteisöä. Joskus ihmiset tulkitsevat tietyn toiminnallisuuden puutteen bugiksi, mikä ei aina pidä paikkaansa. Siksi, yhteisö ei välttämättä hyväksy ratkaisua, eikä sitä sisällytetä viralliseen arkistoon.. Tarvitset sitä kuitenkin vielä tässä ja nyt. No, korjataan se!

Github-tietovaraston julkaisutietojen mukaan patch-paketti ) julkaistiin virallisesti toukokuussa 2017. It on tehokas työkalu, jonka avulla riippuvuusprojektin sisällä tehdyt muutokset voidaan asentaa omaan node_modules hakemisto. Jotkut saattavat sanoa, että tämä on melko hulluutta - ampuminen asennuskomento riippuvuushallintasi korvaa muutokset.

No, tämä on oikein. Korjauspaketti on kuitenkin rinnakkain seuraavan kanssa. npm ja lanka täydellisesti (täytyy myöntää, että se toimii toistaiseksi hieman paremmin npm:n kanssa, voit lukea lisää README-tiedoston kohdasta "Why you should use postinstall-prepare with Yarn?") ja hyödyntää täysin skriptin valmistelua ("script": { "prepare":""}) sinun package.json tiedosto. Patch-package luo kirjaimellisesti diff-hakemiston muutosten ja alkuperäisen paketin välille, joka tallennetaan varsinaisen projektin patch-kansioon..

Kun install-komento on suoritettu ja kaikki riippuvuudet ladattu, se soveltaa tätä eroa projektin hakemistoon, jolloin muutoksistasi saadaan täydellinen rekonstruktio kaikille yhteistyökumppaneille. Se tekee elämästäsi yksinkertaisempaa, eikö totta? Ratkaisulla on myös joitakin haittoja. Korjauspaketti ei voi korjata pakettisi riippuvuuksia tai tehdä muutoksia osoitteeseen package.json.

Tässä tapauksessa voit käyttää haarukkaratkaisua. Sinun on myös otettava huomioon, kuinka monta muutosta aiot soveltaa riippuvuuspakettiisi ja kasvavatko ne ajan myötä. Jos tulee - sinun on harkittava tarkkaan, kun käytät fork:ta, koska kyseessä on oma projektisi.

Älä ole itsekäs!

Korjaaminen on loistava tapa korjata riippuvuuksia ilman loputtomia haarautumisia ja useiden projektilähteiden luomista. Sinun tulisi kuitenkin aina muistaa, että yhteisön hyödyntäminen ei saisi olla yksisuuntaista. Jos löydät bugin tai tunnet voivasi parantaa käyttämääsi pakettia, sinun kannattaa aina harkita muiden auttamista rekisteröimällä ongelma tai jopa osallistumalla projektiin!

Aiheeseen liittyvät artikkelit

Ohjelmistokehitys

Tulevaisuuden web-sovellusten rakentaminen: The Codest:n asiantuntijatiimin näkemyksiä

Tutustu siihen, miten The Codest loistaa skaalautuvien, interaktiivisten verkkosovellusten luomisessa huipputeknologian avulla ja tarjoaa saumattomia käyttäjäkokemuksia kaikilla alustoilla. Lue, miten asiantuntemuksemme edistää digitaalista muutosta ja liiketoimintaa...

THECODEST
Ohjelmistokehitys

Top 10 Latviassa toimivaa ohjelmistokehitysyritystä

Tutustu Latvian parhaisiin ohjelmistokehitysyrityksiin ja niiden innovatiivisiin ratkaisuihin uusimmassa artikkelissamme. Tutustu siihen, miten nämä teknologiajohtajat voivat auttaa nostamaan liiketoimintaasi.

thecodest
Yritys- ja skaalausratkaisut

Java-ohjelmistokehityksen perusteet: A Guide to Outsourcing Successfully

Tutustu tähän keskeiseen oppaaseen Java-ohjelmistokehityksen onnistuneesta ulkoistamisesta tehokkuuden parantamiseksi, asiantuntemuksen saamiseksi ja projektin onnistumiseksi The Codestin avulla.

thecodest
Ohjelmistokehitys

Perimmäinen opas ulkoistamiseen Puolassa

Ulkoistamisen lisääntyminen Puolassa johtuu taloudellisesta, koulutuksellisesta ja teknologisesta kehityksestä, joka edistää tietotekniikan kasvua ja yritysystävällistä ilmapiiriä.

TheCodest
Yritys- ja skaalausratkaisut

Täydellinen opas IT-tarkastustyökaluihin ja -tekniikoihin

Tietotekniikan tarkastuksilla varmistetaan turvalliset, tehokkaat ja vaatimustenmukaiset järjestelmät. Lue lisää niiden merkityksestä lukemalla koko artikkeli.

Codest
Jakub Jakubowicz teknologiajohtaja ja toinen perustaja

Tilaa tietopankkimme ja pysy ajan tasalla IT-alan asiantuntemuksesta.

    Tietoa meistä

    The Codest - Kansainvälinen ohjelmistokehitysyritys, jolla on teknologiakeskuksia Puolassa.

    Yhdistynyt kuningaskunta - pääkonttori

    • Toimisto 303B, 182-184 High Street North E6 2JA
      Lontoo, Englanti

    Puola - Paikalliset teknologiakeskukset

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Krakova
    • Brain Embassy, Konstruktorska
      11, 02-673 Varsova, Puola

      Codest

    • Etusivu
    • Tietoa meistä
    • Palvelut
    • Tapaustutkimukset
    • Tiedä miten
    • Työurat
    • Sanakirja

      Palvelut

    • Se neuvoa-antava
    • Ohjelmistokehitys
    • Backend-kehitys
    • Frontend-kehitys
    • Staff Augmentation
    • Backend-kehittäjät
    • Pilvi-insinöörit
    • Tietoinsinöörit
    • Muut
    • QA insinöörit

      Resurssit

    • Faktoja ja myyttejä yhteistyöstä ulkoisen ohjelmistokehityskumppanin kanssa
    • Yhdysvalloista Eurooppaan: Miksi amerikkalaiset startup-yritykset päättävät muuttaa Eurooppaan?
    • Tech Offshore -kehityskeskusten vertailu: Tech Offshore Eurooppa (Puola), ASEAN (Filippiinit), Euraasia (Turkki).
    • Mitkä ovat teknologiajohtajien ja tietohallintojohtajien tärkeimmät haasteet?
    • Codest
    • Codest
    • Codest
    • Privacy policy
    • Verkkosivuston käyttöehdot

    Tekijänoikeus © 2025 by The Codest. Kaikki oikeudet pidätetään.

    fiFinnish
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek fiFinnish