Pagine
Le pagine sono file che risiedono nella sottodirectory src/pages/
del tuo progetto Astro. Sono responsabili della gestione del routing, del caricamento dei dati e del layout generale della pagina per ogni pagina del tuo sito web.
File di pagina supportati
Astro supporta i seguenti tipi di file nella directory src/pages/
:
.astro
.md
.mdx
(con l’integrazione MDX installata (EN)).html
.js
/.ts
(come endpoint)
Routing basato su file
Astro sfrutta una strategia di routing chiamata routing basato su file. Ogni file nella tua directory src/pages/
diventa un endpoint sul tuo sito in base al suo percorso file.
Un singolo file può anche generare più pagine utilizzando il routing dinamico. Ciò ti consente di creare pagine anche se i tuoi contenuti si trovano al di fuori della speciale directory /pages/
, come in una raccolta di contenuti (EN) o un CMS (EN).
📚 Ulteriori informazioni sul routing in Astro.
Collegamento tra le pagine
Scrivi l´elemento standard HTML <a>
nelle tue pagine Astro per collegarti ad altre pagine del tuo sito.
Ad esempio, per collegarsi a https://example.com/authors/sonali/
da qualsiasi altra pagina su “example.com”:
Pagine Astro
Le pagine Astro utilizzano l’estensione del file .astro
e supportano le stesse funzionalità di Componenti Astro.
Una pagina deve produrre un documento HTML completo. Se non incluso esplicitamente, Astro aggiungerà la dichiarazione <!DOCTYPE html>
necessaria e il contenuto <head>
a qualsiasi componente .astro
situato all’interno di src/pages/
per impostazione predefinita. Puoi disattivare questo comportamento in base al componente contrassegnandolo come pagina parziale.
Per evitare di ripetere gli stessi elementi HTML su ogni pagina, puoi spostare gli elementi comuni <head>
e <body>
nei tuoi componenti di layout. Puoi utilizzare tutti i componenti di layout che desideri.
📚 Leggi di più sui componenti di layout in Astro.
Pagine Markdown/MDX
Astro tratta anche qualsiasi file Markdown (.md
) all’interno di src/pages/
come pagine del tuo sito web finale. Se hai l´integrazione MDX installata (EN), tratta anche i file MDX (.mdx
) allo stesso modo. Questi sono comunemente usati per pagine ricche di testo come post di blog e documentazione.
Le raccolte di contenuti delle pagine Markdown o MDX (EN) in src/content/
possono essere utilizzate per generare pagine dinamicamente.
I layout di pagina sono particolarmente utili per i file Markdown. I file Markdown possono utilizzare la speciale proprietà frontmatter layout
per specificare un componente layout che avvolgerà il contenuto Markdown in un completo documento di pagina, <html>...</html>
.
📚 Ulteriori informazioni su Markdown (EN) in Astro.
Pagine HTML
I file con estensione .html
possono essere inseriti in src/pages/
e utilizzati direttamente come pagine del tuo sito. Tieni presente che alcune funzionalità chiave di Astro non sono supportate nei componenti HTML.
Pagina di errore 404 personalizzata
Per una pagina di errore 404 personalizzata, puoi creare un file 404.astro
o 404.md
in /src/pages
.
Questo creerà una pagina 404.html
. La maggior parte dei fornitori di servizi di hosting (EN) la troveranno e la utilizzeranno.
Parziali della pagina
Aggiunto in:astro@3.4.0
I parziali di pagina sono pensati per essere utilizzati insieme a una libreria front-end, come htmx o Unpoly. Puoi anche usarli se hai dimestichezza con la scrittura di JavaScript front-end di basso livello. Per questo motivo sono una funzionalità avanzata.
Inoltre, i parziali non dovrebbero essere utilizzati se il componente contiene stili o script specifici per la pagine, poiché questi elementi verranno rimossi dall’output HTML. Se hai bisogno di stili specifici per la pagina, è meglio utilizzare pagine regolari e non parziali insieme a una libreria frontend che sappia come unire i contenuti nell’intestazione.
I parziali sono componenti di pagina situati all’interno di src/pages/
che non sono destinati a essere visualizzati come pagine complete.
Come i componenti situati all’esterno di questa cartella, questi file non includono automaticamente la dichiarazione <!DOCTYPE html>
, né alcun contenuto <head>
come stili e script specifici per la pagina.
Tuttavia, poiché si trovano nella directory speciale src/pages/
, l’HTML generato è disponibile in un URL corrispondente al percorso del file. Ciò consente a una libreria di rendering (ad esempio htmx, Stimulus, jQuery) di accedervi sul client e caricare sezioni di HTML dinamicamente su una pagina senza aggiornamento del browser o navigazione della pagina.
I parziali, se combinati con una libreria di rendering, forniscono un’alternativa alle isole Astro e ai tag<script>
(EN) per la creazione di contenuto dinamico in Astro.
I file di pagina che possono esportare un valore (ad esempio .astro
, .mdx
) possono essere contrassegnati come parziali.
Configura un file all’interno della directory src/pages/
come parziale aggiungendo la seguente esportazione:
L’export const partial
deve essere identificabile staticamente. Può avere il valore di:
- Il valore booleano
true
. - Una variabile di ambiente che utilizza import.meta.env come
import.meta.env.USE_PARTIALS
.
Utilizzo con una libreria
I partial vengono utilizzati per aggiornare dinamicamente una sezione di una pagina utilizzando una libreria come htmx.
L’esempio seguente mostra un attributo hx-post
impostato sull’URL di un parziale. Il contenuto della pagina parziale verrà utilizzato per aggiornare l’elemento HTML di destinazione su questa pagina.
Il parziale .astro
deve esistere nel percorso del file corrispondente e includere un’esportazione che definisce la pagina come parziale:
Consulta la documentazione htmx per ulteriori dettagli sull’utilizzo di htmx.
Learn