Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa esercitazione illustra come distribuire un sito Web statico generato Next.js in App Web statiche di Azure. Per ulteriori informazioni sulle specificità di Next.js, vedere il file leggimi del template di avvio.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuito.
- Un account GitHub. Creare un account gratuito.
- Node.js installato.
1. Configurare un'app Next.js
Anziché usare l'interfaccia della riga di comando di Next.js per creare l'app, è possibile usare un repository di avvio. Il repository starter contiene un'app Next.js esistente che supporta le route dinamiche.
Per iniziare, crea un nuovo repository nel tuo account GitHub a partire da un repository modello.
Passare a https://github.com/staticwebdev/nextjs-starter/generate.
Assegnare al repository il nome nextjs-starter
Clonare quindi il nuovo repository nel computer. Assicurarsi di sostituire
<YOUR_GITHUB_ACCOUNT_NAME>con il nome dell'account.git clone http://github.com/<YOUR_GITHUB_ACCOUNT_NAME>/nextjs-starterPassare all'app Next.js appena clonata.
cd nextjs-starterInstallare le dipendenze.
npm installAvviare Next.js'app in fase di sviluppo.
npm run devPassare a
http://localhost:3000per aprire l'app, in cui dovrebbe essere visualizzato il sito Web seguente aperto nel browser preferito:
Quando si seleziona un framework o una libreria, viene visualizzata una pagina dei dettagli sull'elemento selezionato:
2. Creare un'app statica
I passaggi seguenti illustrano come collegare l'app ad App Web statiche di Azure. Una volta in Azure, è possibile distribuire l'applicazione in un ambiente di produzione.
Selezionare Crea una risorsa.
Cercare App Web statiche.
Selezionare App Web statica.
Fare clic su Crea.
Nella scheda Informazioni di base immettere i valori seguenti.
Proprietà Value Subscription Il nome della sottoscrizione di Azure. Gruppo di risorse my-nextjs-group Nome my-nextjs-app Tipo di piano Gratuito Area per API Funzioni di Azure ambienti di staging Selezionare un'area vicina. Fonte GitHub Selezionare Accedi con GitHub ed eseguire l'autenticazione con GitHub, se richiesto.
Immettere i valori di GitHub seguenti.
Proprietà Value Organizzazione Selezionare l'organizzazione GitHub appropriata. Repository Selezionare nextjs-starter. Ramo Selezionare main. Nella sezione Dettagli di compilazione, selezionare Personalizzato dai Predefiniti di compilazione. Aggiungere i valori seguenti come per la configurazione di compilazione.
Proprietà Value Percorso dell'app Immettere / nella casella. Percorso API Lasciare vuota questa casella. Percorso di output Immettere "out" nella casella.
3. Rivedere e creare
Selezionare Rivedi + Crea per verificare che i dettagli siano tutti corretti.
Selezionare Crea per avviare la creazione del servizio del'app Web statica del servizio app ed eseguire il provisioning di GitHub Actions per la distribuzione.
Al termine della distribuzione, selezionare Vai alla risorsa.
Nella finestra Panoramica selezionare il collegamento URL per aprire l'applicazione distribuita.
Se il sito Web non viene caricato immediatamente, la compilazione è ancora in esecuzione. Per controllare lo stato del flusso di lavoro delle Azioni, accedi al dashboard delle Azioni del tuo repository:
https://github.com/<YOUR_GITHUB_USERNAME>/nextjs-starter/actions
Al termine del flusso di lavoro, è possibile aggiornare il browser per visualizzare l'app Web.
Ora tutte le modifiche apportate al main ramo avviano una nuova compilazione e distribuzione del sito Web.
4. Sincronizzare le modifiche
Quando hai creato l'app, Azure App Web Statiche ha creato un file GitHub Actions nel tuo repository. Sincronizza con il server scaricando gli ultimi aggiornamenti nel tuo repository locale.
Tornare al terminale ed eseguire il comando git pull origin mainseguente.
Configurazione del rendering statico
Per impostazione predefinita, l'applicazione viene considerata come un'applicazione ibrida sottoposta a rendering Next.js, ma per continuare a usarla come generatore di siti statici, è necessario aggiornare l'attività di distribuzione.
Aprire il repository in Visual Studio Code.
Vai al file GitHub Actions aggiunto da Azure Static Web Apps al tuo repository alla posizione
.github/workflows/azure-static-web-apps-<your site ID>.ymlAggiornare il processo di compilazione e distribuzione per avere una variabile di
IS_STATIC_EXPORTambiente impostata sutrue:- name: Build And Deploy id: swa uses: azure/static-web-apps-deploy@latest with: azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_TOKEN }} repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for GitHub integrations (i.e. PR comments) action: "upload" app_location: "/" # App source code path api_location: "" # Api source code path - optional output_location: "" # Built app content directory - optional env: # Add environment variables here IS_STATIC_EXPORT: trueEseguire il commit delle modifiche in Git ed eseguirne il push in GitHub.
git commit -am "Configuring static site generation" && git push
Al termine della compilazione, il sito verrà renderizzato staticamente.
Pulire le risorse
Se non si intende continuare a usare questa app, è possibile eliminare l'istanza di App Web statiche di Azure seguendo questa procedura.
- Apri il portale di Azure.
- Cercare my-nextjs-group dalla barra di ricerca superiore.
- Selezionare il nome del gruppo.
- Selezionare Elimina.
- Selezionare Sì per confermare l'azione di eliminazione.