Precaricamento
I tempi di caricamento delle pagine giocano un ruolo importante nell’usabilità e nel piacere generale di un sito. Il precaricamento opzionale di Astro porta i benefici di navigazioni tra pagine quasi istantanee alla tua applicazione a pagine multiple (MPA) mentre i tuoi visitatori interagiscono con il sito.
Abilitare il precaricamento
Sezione intitolata Abilitare il precaricamentoPuoi abilitare il precaricamento con la configurazione prefetch
:
Uno script di precaricamento verrà aggiunto a tutte le pagine del tuo sito. Puoi quindi aggiungere l’attributo data-astro-prefetch
a qualsiasi link <a />
nel tuo sito per abilitare il precaricamento. Quando passi il mouse sopra il link, lo script recupererà la pagina in background.
Nota che il precaricamento funziona solo per i link all’interno del tuo sito, non per i link esterni.
Configurazione del precaricamento
Sezione intitolata Configurazione del precaricamentoLa configurazione prefetch
accetta anche un “oggetto opzioni” per personalizzare ulteriormente il precaricamento.
Strategie di precaricamento
Sezione intitolata Strategie di precaricamentoAstro supporta 4 strategie di precaricamento per vari casi d’uso:
hover
(default): Prefetch quando passi il mouse sopra o metti a fuoco il link.tap
: Prefetch poco prima di cliccare sul link.viewport
: Prefetch mentre i link entrano nel viewport.load
: Prefetch di tutti i link della pagina dopo il caricamento della pagina.
Puoi specificare una strategia per un singolo link passandolo all’attributo data-astro-prefetch
:
Ogni strategia è ottimizzata per prefetchare solo quando necessario e risparmiare banda ai tuoi utenti. Per esempio:
- Se un visitatore sta usando la modalità risparmio dati o ha una connessione lenta, il precaricamento passerà alla strategia
tap
. - Passare velocemente il mouse o scorrere sui link non li precaricherà.
- I link che usano le strategie
viewport
oload
vengono precaricati con priorità inferiore per evitare di intasare la rete.
Strategia di precaricamento predefinita
Sezione intitolata Strategia di precaricamento predefinitaLa strategia di precaricamento predefinita quando si aggiunge l’attributo data-astro-prefetch
è hover
. Per cambiarla, puoi configurare prefetch.defaultStrategy
nel tuo file astro.config.mjs
:
Precaricamento di tutti i link di default
Sezione intitolata Precaricamento di tutti i link di defaultSe vuoi precaricare tutti i link, inclusi quelli senza l’attributo data-astro-prefetch
, puoi impostare prefetch.prefetchAll
a true
:
Puoi quindi escludere il precaricamento per singoli link impostando data-astro-prefetch="false"
:
La strategia di precaricamento predefinita per tutti i link può essere cambiata con prefetch.defaultStrategy
come mostrato nella sezione Strategia di precaricamento predefinita.
Precarica programmaticamente
Sezione intitolata Precarica programmaticamenteSiccome alcune navigazioni potrebbero non apparire sempre come link <a />
, puoi anche precaricare programmaticamente con l’API prefetch()
dal modulo astro:prefetch
:
Puoi inoltre configurare la priorità del precaricamento passando l’opzione with
:
L’API prefetch()
include la stessa rilevazione di modalità risparmio dati e connessione lenta in modo che il precaricamento avvenga solo quando necessario.
Per ignorare il rilevamento di connessioni lente, puoi usare l’opzione ignoreSlowConnection
:
Assicurati di importare prefetch()
solo negli script lato client poiché fa affidamento sulle API del browser.
Usarlo con le View Transitions
Sezione intitolata Usarlo con le View TransitionsQuando usi le View Transitions in una pagina, il precaricamento verrà abilitato di default. Imposta una configurazione predefinita di { prefetchAll: true }
che abilita il precaricamento per tutti i link nella pagina.
Puoi personalizzare la configurazione di precaricamento in astro.config.mjs
per sovrascrivere il valore di default. Per esempio:
Migrazione da @astrojs/prefetch
Sezione intitolata Migrazione da @astrojs/prefetchL’integrazione @astrojs/prefetch
è stata deprecata nella v3.5.0 e verrà rimossa completamente. Usa le seguenti istruzioni per passare al precaricamento integrato di Astro che sostituisce questa integrazione.
-
Rimuovi l’integrazione
@astrojs/prefetch
e abilita la configurazioneprefetch
inastro.config.mjs
: -
Converti dalle opzioni di configurazione di
@astrojs/prefetch
:-
L’integrazione deprecata usava l’opzione
selector
per specificare quali link dovrebbero essere precaricati quando entrano nel viewport.Aggiungi invece
data-astro-prefetch="viewport"
a questi singoli link -
L’integrazione deprecata usava l’opzione
intentSelector
per specificare quali link dovrebbero essere precaricati quando venivano passati sopra col mouse o messi a fuoco.Aggiungi
data-astro-prefetch
odata-astro-prefetch="hover"
a questi singoli link: -
L’opzione
throttles
di@astrojs/prefetch
non è più necessaria poiché la nuova funzionalità di prefetch pianificherà e precaricherà in modo ottimale automaticamente.
-