window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', versjon: 2, } ;(function () { var w = vindu if (w.LeadBooster) { console.warn('LeadBooster finnes allerede') } 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 }) }, } } })() Førstehjelp for ødelagte JavaScript-avhengigheter - The Codest
The Codest
  • Om oss
  • Tjenester
    • Programvareutvikling
      • Frontend-utvikling
      • Backend-utvikling
    • Staff Augmentation
      • Frontend-utviklere
      • Backend-utviklere
      • Dataingeniører
      • Ingeniører i skyen
      • QA-ingeniører
      • Annet
    • Det rådgivende
      • Revisjon og rådgivning
  • Industrier
    • Fintech og bankvirksomhet
    • E-commerce
    • Adtech
    • Helseteknologi
    • Produksjon
    • Logistikk
    • Bilindustrien
    • IOT
  • Verdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leveransesjef
  • Vårt team
  • Casestudier
  • Vet hvordan
    • Blogg
    • Møter
    • Webinarer
    • Ressurser
Karriere Ta kontakt med oss
  • Om oss
  • Tjenester
    • Programvareutvikling
      • Frontend-utvikling
      • Backend-utvikling
    • Staff Augmentation
      • Frontend-utviklere
      • Backend-utviklere
      • Dataingeniører
      • Ingeniører i skyen
      • QA-ingeniører
      • Annet
    • Det rådgivende
      • Revisjon og rådgivning
  • Verdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leveransesjef
  • Vårt team
  • Casestudier
  • Vet hvordan
    • Blogg
    • Møter
    • Webinarer
    • Ressurser
Karriere Ta kontakt med oss
Pil tilbake GÅ TILBAKE
2018-12-27
Programvareutvikling

Førstehjelp for ødelagte JavaScript-avhengigheter

Daniel Grek

Hvis du er programvareutvikler, så vet du sikkert allerede at en av dine mange roller definitivt ikke er å være enda en hjuloppfinner. I hvert fall ikke i de fleste tilfeller.

Jeg vil gjerne skrive om JavaScript avhengigheter. Men la oss starte fra begynnelsen. Hvis du er programvareutvikler, så vet du sannsynligvis allerede at en av dine mange roller definitivt ikke er å være enda en hjuloppfinner. I hvert fall ikke i de fleste tilfeller. Verden har gått så langt at det i dag finnes pakker for nesten alt, noe som gjør utviklingen vår enklere og mer effektiv.

Dette er selvfølgelig ikke en oppfordring til å miste interessen for andre spørsmål - hver pakke har et ganske stort rom for forbedring og utvikling. Forretningsmålet ditt er imidlertid å bringe en komplett produkt på et fat akkurat i tide eller til og med før det er oppe. Pakker hjelper deg med å oppfylle disse planene, og gir npm eller garn på toppen av listen over dine beste venner, men vær oppmerksom på: enhver løsning, så vel som denne, kan også medføre risiko. Og vi vil prøve å beskrive det og vise deg en bedre måte å komme unna med det i artikkelen nedenfor.

La oss begynne med en historie...

Forestill deg en stor JavaScript prosjekt. Forretningskrav forplikter utviklere til å bruke en spesifikk pakke, slik at det blir mulig å integrere med et annet system hos en klient. Og det er helt i orden. MVP er levert i tide, neste kontrakt er signert og utviklingen fortsetter. Kunden ber om å integrere neste del av et system, noe som krever en oppdatering av pakken din.

Denne delen går bra, helt til testene blir avfyrt. Det ser ut til at pakken inneholder en enkel, men upraktisk feil, som ennå ikke har blitt rettet i noen produktutgivelse, og det er kjent at dette ikke vil skje snart nok. Du kan ikke bare fikse din node_moduler katalog - skal den fjernes fra depotet ditt fra sporing, og derfor vil samarbeidspartnerne dine aldri få vite noe om endringene dine! Vel, mens du leste dette, har du sannsynligvis allerede forstått hva du skal gjøre - fork. Men trenger du virkelig en slik hammer?

Forstå problemet ditt

Du må være klar over om problemet du står overfor, kommer til å involvere bare deg eller et større fellesskap. Noen ganger tolker folk manglende funksjonalitet som en feil, noe som ikke alltid er riktig. Det er derfor viktig, løsningen din blir kanskje ikke akseptert av et fellesskap og ikke inkludert i et offisielt repositorium. Men du trenger det fortsatt her og nå. Vel, la oss lappe den sammen!

I følge utgivelsesmerknadene i github-depotet, patch-pakke ) ble offisielt utgitt i mai 2017. It er et kraftig verktøy som gjør det mulig å installere endringer i avhengighetsprosjektet i din node_moduler katalog. Noen vil kanskje si at dette er ganske galskap - skyte installere kommandoen din avhengighet manager vil overskrive endringene.

Vel, dette er riktig. En patch-pakke eksisterer imidlertid sammen med npm og garn perfekt (jeg må innrømme at det fungerer litt bedre med npm så langt, du kan lese mer i "Hvorfor bør du bruke postinstall-prepare med Yarn?"-delen av README-filen) og drar full nytte av en skriptforberedelse ("script": {"prepare":""}) av din package.json fil. Patch-package oppretter bokstavelig talt en diff-katalog mellom endringene dine og den opprinnelige pakken, som lagres i patch-mappen i det faktiske prosjektet ditt.

Etter at du har kjørt install-kommandoen og lastet ned alle avhengigheter, bruker den forskjellen i prosjektkatalogen og lager en perfekt rekonstruksjon av endringene dine for alle samarbeidspartnere. Det gjør livet ditt enklere, ikke sant? Løsningen har også noen ulemper. Patch-pakken kan ikke fikse avhengigheter til pakken din eller gjøre endringer i package.json.

I dette tilfellet kan du bruke gaffelløsningen. Du må også vurdere hvor mange endringer du er i ferd med å legge inn i avhengighetspakken din, og om de vil vokse med tiden. Hvis det er tilfelle, bør du tenke deg nøye om når du bruker fork, siden dette er ditt eget prosjekt.

Ikke vær egoistisk!

Patching er en flott måte å fikse avhengigheter på uten å skape endeløse forker og generere flere prosjektkilder. Men du bør alltid huske at det å dra nytte av fellesskapet ikke bare bør gå i én retning. Hvis du finner en feil eller føler at du kan forbedre pakken du bruker, bør du alltid vurdere å hjelpe andre ved å registrere et problem eller til og med ved å bidra til prosjektet!

Relaterte artikler

Programvareutvikling

Bygg fremtidssikre webapper: Innsikt fra The Codests ekspertteam

Oppdag hvordan The Codest utmerker seg når det gjelder å skape skalerbare, interaktive webapplikasjoner med banebrytende teknologi som gir sømløse brukeropplevelser på tvers av alle plattformer. Finn ut hvordan ekspertisen vår driver digital transformasjon og...

THECODEST
Programvareutvikling

Topp 10 Latvia-baserte programvareutviklingsselskaper

I vår nyeste artikkel kan du lese mer om Latvias beste programvareutviklingsselskaper og deres innovative løsninger. Oppdag hvordan disse teknologilederne kan bidra til å løfte virksomheten din.

thecodest
Løsninger for bedrifter og oppskalering

Grunnleggende om Java-programvareutvikling: En guide til vellykket outsourcing

Utforsk denne viktige veiledningen om vellykket outsourcing av Java-programvareutvikling for å øke effektiviteten, få tilgang til ekspertise og drive frem prosjektsuksess med The Codest.

thecodest
Programvareutvikling

Den ultimate guiden til outsourcing i Polen

Den kraftige økningen i outsourcing i Polen er drevet av økonomiske, utdanningsmessige og teknologiske fremskritt, noe som fremmer IT-vekst og et forretningsvennlig klima.

TheCodest
Løsninger for bedrifter og oppskalering

Den komplette guiden til verktøy og teknikker for IT-revisjon

IT-revisjoner sørger for sikre, effektive og kompatible systemer. Les hele artikkelen for å lære mer om viktigheten av dem.

The Codest
Jakub Jakubowicz CTO og medgrunnlegger

Abonner på vår kunnskapsbase og hold deg oppdatert på ekspertisen fra IT-sektoren.

    Om oss

    The Codest - Internasjonalt programvareutviklingsselskap med teknologisentre i Polen.

    Storbritannia - Hovedkvarter

    • Kontor 303B, 182-184 High Street North E6 2JA
      London, England

    Polen - Lokale teknologisentre

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Warszawa, Polen

      The Codest

    • Hjem
    • Om oss
    • Tjenester
    • Casestudier
    • Vet hvordan
    • Karriere
    • Ordbok

      Tjenester

    • Det rådgivende
    • Programvareutvikling
    • Backend-utvikling
    • Frontend-utvikling
    • Staff Augmentation
    • Backend-utviklere
    • Ingeniører i skyen
    • Dataingeniører
    • Annet
    • QA-ingeniører

      Ressurser

    • Fakta og myter om samarbeid med en ekstern programvareutviklingspartner
    • Fra USA til Europa: Hvorfor velger amerikanske oppstartsbedrifter å flytte til Europa?
    • Sammenligning av Tech Offshore Development Hubs: Tech Offshore Europa (Polen), ASEAN (Filippinene), Eurasia (Tyrkia)
    • Hva er de største utfordringene for CTO-er og CIO-er?
    • The Codest
    • The Codest
    • The Codest
    • Retningslinjer for personver
    • Vilkår for bruk av nettstedet

    Opphavsrett © 2025 av The Codest. Alle rettigheter forbeholdt.

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