Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. JavaScript

6 cose che rendono Yarn il miglior gestore del pacchetto JavaScript

by
Difficulty:IntermediateLength:MediumLanguages:

Italian (Italiano) translation by Mirko Pizii (you can also view the original English article)

Yarn è un client open-source npm sviluppato a Facebook e migliora in molti aspetti del client standard npm. In questo tutorial, mi concentrerò sulle prime sei caratteristiche che rendono Yarn impressionante:

  1. Velocità
  2. Installazioni robuste
  3. Controlli su licenza
  4. Compatibilità con npm e Bower
  5. Registri multipli
  6. Emojis

1. Velocità

Una delle affermazioni di Yarn alla fama è la sua velocità rispetto al client standard npm. Ma quanto è veloce? In un recente benchmark, Yarn era due o tre volte più veloce di npm. Il benchmark ha temporeggiato l'installazione di React, Angular 2 e Ember. Questo è un ottimo test per un gestore di pacchetti, in quanto ognuno di questi framework tirerà un gruppo di dipendenze e rappresenta una parte importante delle dipendenze di un'applicazione web reale.

Aggiungere un altro punto dati e verificare di noi stessi installando un'applicazione create-react utilizzando entrambi Yarn e npm. Ecco l'installazione usando Yarn:

Ecco l'installazione usando npm:

Sì. Ciò conferma decisamente altri rapporti su un vantaggio significativo di velocità rispetto a Yarn. Yarn installato in 2,59 secondi, mentre npm ha impiegato 9,422 secondi. Yarn era più veloce di 3.63x!

2. Installazioni robuste

Yarn vanta inoltre installazioni più robuste di npm. Cosa fa un'installazione fiacca? Se le successive installazioni non riescono o producono un risultato diverso, l'installazione è fiacca. Ci sono due cause principali:

  1. Problemi di rete transitori potrebbero causare il ritiro dei pacchetti dal Registro di sistema.
  2. Le nuove versioni di pacchetti potrebbero causare modifiche incompatibili e rotture.

Yarn affronta entrambe le preoccupazioni.

Cache Offline

Yarn utilizza una cache offline in linea per memorizzare i pacchetti che hai installato una volta, per cui le nuove installazioni utilizzano la versione memorizzata nella cache e evitano la fiacchezza a causa di errori di rete intermittenti. Puoi trovare dove si trova la tua cache Yarn digitando:

Ecco i primi cinque pacchetti nella mia cache offline:

Yarn può andare ulteriormente e avere uno specchio intero completo che funzionerà attraverso gli aggiornamenti di Yarn stesso.

Il file yarn.lock

Il file yarn.lock viene aggiornato ogni volta che si aggiunge o si aggiorna una versione. Essa pone essenzialmente la versione esatta di ciascun pacchetto che può essere specificato in package.json utilizzando la versione parziale (ad esempio solo grandi e minori) e le sue dipendenze.

Ecco l'inizio di un tipico file yarn.lock. Puoi vedere la versione come specificato in package.json come "abbrev@1" e la versione pinnata "1.1.0".

Ma perché?

Yarn inoltre ti dà yarn why il comando che spiega perché un particolare pacchetto è installato nel tuo progetto:

3. Controlli licenza

Alcuni progetti devono rispettare determinati requisiti di licenza o semplicemente produrre un report per scopi interni o esterni. Yarn lo rende molto facile con il comando yarn licenses ls. Fornisce un rapporto compatto che include il nome del pacchetto completo, il suo URL e la licenza. Ecco un esempio:

Yarn può anche generare un disclaimer per voi con yarn licenses generate-disclaimer. Il risultato è un testo con un messaggio di responsabilità e un testo per ogni pacchetto nella tua applicazione. Ecco un esempio del disclaimer generato per il mio progetto di prova:

4. Compatibilità con npm e Bower

Yarn è completamente compatibile con npm in quanto è solo un altro client che lavora con i registri npm. Molto presto ha sostenuto Bower, ma subito dopo la decisione di abbandonare il supporto Bower.

Il motivo principale era che il supporto Bower non funzionava molto bene e svuotò la directory bower_components oppure non recuperava i pacchetti di avvio su un nuovo progetto. Ma un altro motivo è che il team di Yarn non ha voluto incoraggiare la frammentazione nell'arena di gestione dei pacchetti e preferisce invece che tutti passino a npm.

Se hai investito in Bower e non desideri migrare in questo momento, puoi ancora utilizzare yarn, ma aggiungi il seguente snippet al tuo file package.json:

5. Registri multipli

Yarn può funzionare con più tipi di registro. Per impostazione predefinita, se si aggiunge solo un pacchetto, utilizza il suo registro npm (che non è il registro standard npm). Può anche aggiungere i pacchetti da file, da tarball remoti o da repository di git remoto.

Per vedere corrente il registro npm configurato:

Per impostare un diverso tipo di registro: yarn config set registry <registry url>

Per aggiungere i pacchetti da posizioni diverse, utilizzare i seguenti comandi di aggiunta:

6. Emojis FTW!

Alcune persone come emojis, e alcune persone non lo fanno. Yarn visualizza in origine emojis automaticamente, ma solo su Mac OS X. Ha provocato il fuoco da entrambi i campi: gli haters degli emoji sono stati sconvolti che la loro console su Mac OS X era ingombra con emojis e gli amanti della emoji erano sconvolti che non avevano emoji su Windows e Linux.

Ora, le emojis non vengono visualizzati su macOS come impostazione predefinita e puoi abilitarli con il parametro --emoji:

Yarn è il miglior gestore di pacchetti JavaScript. È compatibile con npm, ma molto, molto più veloce. Risolve gravi problemi per i progetti su larga scala con un'installazione fredda, supporta più tipi di registri e ha l'emojis da avviare. t. JavaScript, anche se non senza le sue curve di apprendimento, ha un sacco di librerie e framework per tenervi occupati, come si può vedere. Se stai cercando risorse aggiuntive per studiare o utilizzare nel tuo lavoro, guarda cosa disponiamo nel marketplace di Envato.a>.
La comunità di JavaScript è complessivamente molto positiva e c'è molta slancio dietro Yarn. Ha già affrontato alcuni problemi come il supporto ridondante Bower e emojis per impostazione predefinita. La migrazione a Yarn da npm è molto facile. Vi consiglio vivamente di fare una prova.ry.
Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.