window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = finestra if (w.LeadBooster) { console.warn('LeadBooster esiste già') } 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 }) }, } } })() Primo soccorso per le dipendenze interrotte dell'JavaScript - The Codest
The Codest
  • Chi siamo
  • Servizi
    • Sviluppo di software
      • Sviluppo Frontend
      • Sviluppo backend
    • Staff Augmentation
      • Sviluppatori Frontend
      • Sviluppatori backend
      • Ingegneri dei dati
      • Ingegneri del cloud
      • Ingegneri QA
      • Altro
    • Consulenza
      • Audit e consulenza
  • Industrie
    • Fintech e banche
    • E-commerce
    • Adtech
    • Tecnologia della salute
    • Produzione
    • Logistica
    • Automotive
    • IOT
  • Valore per
    • CEO
    • CTO
    • Responsabile della consegna
  • Il nostro team
  • Case Studies
  • Sapere come
    • Blog
    • Incontri
    • Webinar
    • Risorse
Carriera Contattate
  • Chi siamo
  • Servizi
    • Sviluppo di software
      • Sviluppo Frontend
      • Sviluppo backend
    • Staff Augmentation
      • Sviluppatori Frontend
      • Sviluppatori backend
      • Ingegneri dei dati
      • Ingegneri del cloud
      • Ingegneri QA
      • Altro
    • Consulenza
      • Audit e consulenza
  • Valore per
    • CEO
    • CTO
    • Responsabile della consegna
  • Il nostro team
  • Case Studies
  • Sapere come
    • Blog
    • Incontri
    • Webinar
    • Risorse
Carriera Contattate
Freccia indietro TORNA INDIETRO
2018-12-27
Sviluppo di software

Primo soccorso per le dipendenze JavaScript interrotte

Daniel Grek

Se siete uno sviluppatore di software, probabilmente sapete già che uno dei vostri numerosi ruoli non è certo quello di essere l'ennesimo inventore di ruote. Almeno, non nella maggior parte dei casi.

Vorrei scrivere su JavaScript dipendenze. Ma partiamo dall'inizio. Se siete uno sviluppatore di software, probabilmente sapete già che uno dei vostri numerosi ruoli non è certo quello di essere l'ennesimo inventore di ruote. Almeno, non nella maggior parte dei casi. Il mondo è andato avanti abbastanza da poter dire che oggi esistono pacchetti per quasi tutto, che rendono il nostro sviluppo più semplice ed efficiente.

Naturalmente questo non è un incoraggiamento a perdere interesse per altre questioni: ogni pacchetto ha un ampio spazio per migliorare ed evolvere. Tuttavia, il vostro obiettivo commerciale è quello di portare un pacchetto completo di prodotto su un piatto appena in tempo o addirittura prima che sia finito. I pacchetti vi aiuteranno a realizzare questi piani, portandovi npm o filato in cima alla lista dei vostri migliori amici, ma sappiate che ogni soluzione, così come questa, può comportare dei rischi. E noi cercheremo di descriverlo e di mostrarvi un modo migliore per cavarvela nell'articolo che segue.

Cominciamo con una storia...

Immaginate un grande JavaScript progetto. I requisiti aziendali obbligano gli sviluppatori a utilizzare un pacchetto specifico, che consente una corretta integrazione con un altro sistema del cliente. E questo va benissimo. MVP è stato portato in tempo, il contratto successivo è stato firmato e lo sviluppo è proseguito.. Il cliente chiede di integrare la parte successiva di un sistema, che richiede l'aggiornamento del vostro pacchetto.

Questa parte va bene, finché non vengono eseguiti i test. Sembra che il pacchetto contenga un semplice, ma scomodo bug, che non è ancora stato risolto in nessuna release del prodotto e si sa che ciò non avverrà abbastanza presto. Non si può semplicemente riparare il nodo_moduli elenco - dovrebbe essere rimosso dal vostro repository dal tracciamento, quindi i vostri collaboratori non sapranno mai nulla delle vostre modifiche! Mentre leggete queste righe, probabilmente avete già capito cosa fare: fork. Ma avete davvero bisogno di un martello del genere?

Comprendere il problema

Dovete essere consapevoli se il problema che state affrontando coinvolgerà solo voi o una comunità più ampia. A volte, le persone interpretano la mancanza di alcune funzionalità come un bug, il che non è sempre corretto. Pertanto, la vostra soluzione potrebbe non essere accettata da una comunità e non essere inclusa in un repository ufficiale. Tuttavia, ne avete ancora bisogno qui e ora. Bene, mettiamo una toppa!

Secondo le note di rilascio del repository github, il pacchetto di patch ) è stato rilasciato ufficialmente nel maggio 2017. Iè uno strumento potente, che permette di installare le modifiche all'interno del progetto di dipendenza nel vostro nodo_moduli elenco. Alcuni potrebbero dire che si tratta di una follia: il comando di installazione del gestore delle dipendenze sovrascriverà le modifiche.

Ebbene, questo è corretto. Tuttavia, un pacchetto di patch coesiste con npm e filato perfettamente (devo ammettere che per ora funziona leggermente meglio con npm, potete leggere di più nella sezione "Perché dovreste usare postinstall-prepare con Yarn?" del file README) e sfrutta appieno la preparazione dello script ("script": {"prepare":""}) del vostro pacchetto.json file. Patch-package crea letteralmente una cartella di diff tra le modifiche apportate e il pacchetto originale, memorizzata nella cartella patch del progetto attuale..

Dopo aver eseguito il comando install e scaricato tutte le dipendenze, applica la differenza alla directory del progetto, creando una ricostruzione perfetta delle modifiche per tutti i collaboratori. Questo semplifica la vita, non è vero? La soluzione presenta anche alcuni svantaggi. Il pacchetto patch non può correggere le dipendenze del vostro pacchetto né apportare modifiche in pacchetto.json.

In questo caso si può usare la soluzione fork. Inoltre, bisogna considerare il numero di modifiche che si stanno per applicare al pacchetto di dipendenze e se queste cresceranno nel tempo. In caso affermativo, si dovrebbe pensare attentamente all'uso di fork, poiché si tratta di un progetto proprio.

Non siate egoisti!

Il patching è un ottimo modo per risolvere le dipendenze senza creare fork infiniti e generare più sorgenti di progetto. Ma bisogna sempre ricordare che il vantaggio della comunità non deve essere unidirezionale. Se trovate un bug o ritenete di poter migliorare il pacchetto che state utilizzando, dovreste sempre considerare di aiutare gli altri registrando un problema o addirittura contribuendo al progetto!

Articoli correlati

Sviluppo di software

Costruire applicazioni web a prova di futuro: le intuizioni del team di esperti di The Codest

Scoprite come The Codest eccelle nella creazione di applicazioni web scalabili e interattive con tecnologie all'avanguardia, offrendo esperienze utente senza soluzione di continuità su tutte le piattaforme. Scoprite come la nostra esperienza favorisce la trasformazione digitale e il business...

IL CANCRO
Sviluppo di software

Le 10 principali aziende di sviluppo software con sede in Lettonia

Scoprite le migliori aziende di sviluppo software della Lettonia e le loro soluzioni innovative nel nostro ultimo articolo. Scoprite come questi leader tecnologici possono aiutarvi a migliorare la vostra attività.

thecodest
Soluzioni per aziende e scaleup

Essenziali di sviluppo software Java: Guida all'outsourcing di successo

Esplorate questa guida essenziale sullo sviluppo di software Java con successo outsourcing per migliorare l'efficienza, accedere alle competenze e guidare il successo del progetto con The Codest.

thecodest
Sviluppo di software

La guida definitiva all'outsourcing in Polonia

L'aumento di outsourcing in Polonia è guidato dai progressi economici, educativi e tecnologici, che favoriscono la crescita dell'IT e un clima favorevole alle imprese.

IlCodesto
Soluzioni per aziende e scaleup

Guida completa agli strumenti e alle tecniche di audit IT

Gli audit IT garantiscono sistemi sicuri, efficienti e conformi. Per saperne di più sulla loro importanza, leggete l'articolo completo.

The Codest
Jakub Jakubowicz CTO e cofondatore

Iscrivetevi alla nostra knowledge base e rimanete aggiornati sulle competenze del settore IT.

    Chi siamo

    The Codest - Società internazionale di sviluppo software con centri tecnologici in Polonia.

    Regno Unito - Sede centrale

    • Ufficio 303B, 182-184 High Street North E6 2JA
      Londra, Inghilterra

    Polonia - Poli tecnologici locali

    • Parco uffici Fabryczna, Aleja
      Pokoju 18, 31-564 Cracovia
    • Ambasciata del cervello, Konstruktorska
      11, 02-673 Varsavia, Polonia

      The Codest

    • Casa
    • Chi siamo
    • Servizi
    • Case Studies
    • Sapere come
    • Carriera
    • Dizionario

      Servizi

    • Consulenza
    • Sviluppo di software
    • Sviluppo backend
    • Sviluppo Frontend
    • Staff Augmentation
    • Sviluppatori backend
    • Ingegneri del cloud
    • Ingegneri dei dati
    • Altro
    • Ingegneri QA

      Risorse

    • Fatti e miti sulla collaborazione con un partner esterno per lo sviluppo di software
    • Dagli Stati Uniti all'Europa: Perché le startup americane decidono di trasferirsi in Europa
    • Confronto tra gli hub di sviluppo Tech Offshore: Tech Offshore Europa (Polonia), ASEAN (Filippine), Eurasia (Turchia)
    • Quali sono le principali sfide di CTO e CIO?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Condizioni di utilizzo del sito web

    Copyright © 2025 di The Codest. Tutti i diritti riservati.

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