Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i18n(it): Update guides/deploy/cloudflare.mdx #8135

Merged
merged 4 commits into from
May 20, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 25 additions & 24 deletions src/content/docs/it/guides/deploy/cloudflare.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ description: Come effettuare il deploy del tuo sito Astro sul web usando Cloudfl
type: deploy
i18nReady: true
---
import ReadMore from '~/components/ReadMore.astro'
import ReadMore from '~/components/ReadMore.astro';
import { Steps } from '@astrojs/starlight/components';

Puoi effettuare il deploy del tuo progetto Astro su [Cloudflare Pages](https://pages.cloudflare.com/), una piattaforma per sviluppatori frontend che consente di collaborare e pubblicare siti web statici (JAMstack) e SSR.

Expand All @@ -23,25 +24,37 @@ Per iniziare, avrai bisogno di:

## Come effettuare il deploy di un sito utilizzando Git

<Steps>
1. Configura un nuovo progetto su Cloudflare Pages.

2. Esegui il push del tuo codice nel tuo repository Git (GitHub, GitLab).

3. Accedi al pannello di controllo di Cloudflare e seleziona il tuo account in **Account Home** > **Pages**.

4. Clicca su **Crea applicazione** e dopo sull'opzione **Esegui la connessione a Git**.

5. Seleziona il progetto git che desideri pubblicare e clicca su **Inizia configurazione**.

6. Utilizza le seguenti impostazioni per la build:

- **Framework preimpostato**: `Astro`
- **Comando di build**: `npm run build`
- **Directory di output della build**: `dist`

7. Clicca il pulsante **Salva e Distribuisci**.
</Steps>

## Come effettuare il deploy di un sito utilizzando Wrangler

<Steps>
1. Installa [Wrangler](https://developers.cloudflare.com/workers/wrangler/get-started/).

2. Esegui il login con il tuo account Cloudflare utilizzando il comando `wrangler login`.

3. Esegui il comando per avviare la build.

4. Effettua il deploy utilizzando il comando `npx wrangler pages publish dist`.
</Steps>

```bash
# Installa Wrangler CLI
Expand All @@ -66,7 +79,6 @@ pnpm add wrangler --save-dev

A questo punto è possibile aggiornare lo script di preview in modo da utilizzare wrangler, invece del comando di anteprima della CLI di Astro.


```json title="package.json"
"preview": "wrangler pages dev ./dist"
```
Expand All @@ -89,6 +101,7 @@ npx astro add cloudflare

Se preferisci installare manualmente l'adattatore, segui questi due passaggi:

<Steps>
1. Aggiungi l'adattatore `@astrojs/cloudflare` alle dipendenze del tuo progetto utilizzando il tuo package manager preferito. Se stai utilizzando npm o non sei sicuro di quale tu stia utilizzando, esegui questo comando nel terminale:

```bash
Expand All @@ -106,34 +119,22 @@ Se preferisci installare manualmente l'adattatore, segui questi due passaggi:
adapter: cloudflare()
});
```
</Steps>

### Modalità

Attualmente sono supportate due modalità quando si utilizzano le Funzioni di Cloudflare Pages con l'adattatore [`@astrojs/cloudflare`](https://github.com/withastro/astro/tree/main/packages/integrations/cloudflare#readme).

1. **Modalità avanzata**: Questa modalità viene utilizzata quando si vuole eseguire una funzione in modalità `advanced`, che utilizza il file `_worker.js` in `dist`, o in modalità directory in cui le pagine compileranno il worker da una cartella `functions` nella cartella principale del progetto.

Se nessuna modalità viene impostata, il valore predefinito è `"advanced"`.

2. **Modalità directory**: Questa modalità viene utilizzata quando si desidera eseguire una funzione in modalità `directory`, il che significa che l'adattatore compilerà la parte lato client della tua app nello stesso modo, ma sposterà lo script del worker in una cartella `functions` nella cartella principale del progetto. L'adattatore metterà sempre un file `[[path]].js` in quella cartella, consentendoti di aggiungere plugin e middleware aggiuntivi per le pagine.
<ReadMore>Leggi di più su [SSR in Astro](/it/guides/server-side-rendering/).</ReadMore>

```ts title="astro.config.mjs" "directory"
export default defineConfig({
adapter: cloudflare({ mode: "directory" }),
});
```
### Utilizzo delle funzioni di Cloudflare Pages
## Risoluzione dei problemi

Le [Funzioni di Pages](https://developers.cloudflare.com/pages/platform/functions/) ti consentono di eseguire codice lato server per abilitare funzionalità dinamiche senza dover usare un server dedicato.
### Idratazione lato client

Per iniziare, crea una cartella `/functions` nella cartella principale del tuo progetto. Scrivendo i file delle tue Funzioni in questa cartella verrà automaticamente generato un worker con funzionalità personalizzate. Per saperne di più sulla scrittura delle Funzioni, consulta la [documentazione sulle Funzioni di Cloudflare Pages](https://developers.cloudflare.com/pages/platform/functions/).
L'idratazione lato client potrebbe fallire a causa dell'impostazione Auto Minify di Cloudflare. Se vedi `Hydration completed but contains mismatches` nella console, assicurati di disabilitare Auto Minify nelle impostazioni di Cloudflare.

<ReadMore>Leggi di più su [SSR in Astro](/it/guides/server-side-rendering/).</ReadMore>
### API di runtime Node.js

## Risoluzione dei problemi
Se stai costruendo un progetto che utilizza il rendering on-demand con [l'adattatore SSR di Cloudflare](/it/guides/integrations-guide/cloudflare/) e il server non riesce a compilare con un messaggio di errore come `[Error] Could not resolve "XXXX. The package "XXXX" wasn't found on the file system but is built into node.`:

Se incontri errori, verifica che la versione di `node` che stai utilizzando sul tuo pc (`node -v`) corrisponda alla versione che stai specificando nella variabile d'ambiente.
- Questo significa che un pacchetto o un'importazione che stai utilizzando nell'ambiente lato server non è compatibile con le [API di runtime di Cloudflare](https://developers.cloudflare.com/workers/runtime-apis/nodejs/).

Cloudflare richiede [Node v16.13](https://miniflare.dev/get-started/cli#installation), che è una versione più recente rispetto al requisito minimo di Astro out-of-the-box, quindi assicurati di utilizzare almeno la versione v16.13.
- Se stai importando direttamente un'API di runtime Node.js, consulta la documentazione di Astro sulla [compatibilità Node.js](/it/guides/integrations-guide/cloudflare/#nodejs-compatibility) di Cloudflare per ulteriori passaggi su come risolvere questo problema.

L'hydration lato client potrebbe non riuscire a causa dell'impostazione di Auto Minify di Cloudflare. Se vedi `Hydration completed but contains mismatches` nella console, assicurati di disabilitare Auto Minify nelle impostazioni di Cloudflare.
- Se stai importando un pacchetto che importa un'API di runtime Node.js, verifica con l'autore del pacchetto se supporta la sintassi di importazione `node:*`. Se non lo fanno, potresti dover trovare un pacchetto alternativo.
Loading