Prestazioni

Questa pagina descrive come i pacchetti influiscono sulla dimensione del bundle e sul costo a runtime, e come renderizzare molte icone.

Come le icone vengono caricate ed eseguite

  • Un modulo per icona. I moduli delle icone non hanno effetti collaterali, quindi i bundler rimuovono le icone che non importi. Minificata e compressa con gzip, la prima icona React o Vue aggiunge circa 4 KB, incluso il runtime condiviso, e ogni icona successiva circa 0,6 KB.
  • Markup pre-renderizzato. Lo stato di riposo è fornito come stringa, quindi non richiede calcoli prima del primo rendering, sul server o nel browser.
  • Animazione su richiesta. Il codice dell'animazione viene eseguito solo mentre un'icona si muove e si ferma quando l'animazione termina.
  • Codice condiviso. Tutte le icone usano un solo modulo di geometria e tutte le icone animate un solo runtime, quindi browser e CDN mettono in cache quel codice una volta sola.
  • Colori CSS. Cambiare il colore di una pagina di icone richiede una sola modifica CSS e non le renderizza di nuovo.

Grandi set di icone

Ogni icona usa filtri SVG per ombra e luce. Se mostri centinaia di icone, renderizza solo le righe visibili oppure usa i file SVG statici in tag <img>, che il browser rasterizza una sola volta.

Import diretti

I server di sviluppo spesso caricano l'intero indice del pacchetto, che fa riferimento a ogni icona. Per evitarlo, importa ogni icona dal proprio file:

ts
import Folder from "kubai-icons-react/icons/folder";

Kubai Icons è gratuito Sostieni il progetto