Nasazení statických webů Next.js na Azure Static Web Apps
V tomto kurzu se naučíte nasadit statický web vygenerovanýNext.js pro Azure Static Web Apps. Další informace o Next.js specifikách najdete v úvodní šabloně readme.
Požadavky
- Účet Azure s aktivním předplatným. Vytvořte si účet zdarma.
- Účet GitHub. Vytvořte si účet zdarma.
- Node.js nainstalován.
1. Nastavení aplikace Next.js
Místo použití Next.js CLI k vytvoření aplikace můžete použít počáteční úložiště. Počáteční úložiště obsahuje existující Next.js aplikaci, která podporuje dynamické trasy.
Začněte vytvořením nového úložiště v rámci účtu GitHub z úložiště šablon.
Přejděte na https://github.com/staticwebdev/nextjs-starter/generate.
Pojmenujte úložiště nextjs-starter.
Pak naklonujte nové úložiště do počítače. Nezapomeňte nahradit
<YOUR_GITHUB_ACCOUNT_NAME>
názvem svého účtu.git clone http://github.com/<YOUR_GITHUB_ACCOUNT_NAME>/nextjs-starter
Přejděte do nově naklonované aplikace Next.js.
cd nextjs-starter
Nainstalujte závislosti.
npm install
Spusťte Next.js aplikaci ve vývoji.
npm run dev
Přejděte na a
http://localhost:3000
otevřete aplikaci, kde byste měli vidět následující web otevřený v upřednostňovaném prohlížeči:
Když vyberete architekturu nebo knihovnu, zobrazí se stránka s podrobnostmi o vybrané položce:
2. Vytvoření statické aplikace
Následující postup ukazuje, jak propojit aplikaci s Azure Static Web Apps. Jakmile budete v Azure, můžete aplikaci nasadit do produkčního prostředí.
Přejděte na Azure Portal.
Vyberte Vytvořit prostředek.
Vyhledejte Static Web Apps.
Vyberte Static Web App (Static Web App).
Vyberte Vytvořit.
Na kartě Základy zadejte následující hodnoty.
Vlastnost Hodnota Předplatné Název vašeho předplatného Azure. Skupina prostředků my-nextjs-group Název my-nextjs-app Typ plánu Free Oblast pro rozhraní API Azure Functions a přípravná prostředí Vyberte oblast, která je vám nejblíže. Zdroj GitHub Pokud se zobrazí výzva, vyberte Přihlásit se pomocí GitHubu a ověřit se pomocí GitHubu.
Zadejte následující hodnoty GitHubu.
Vlastnost Hodnota Organizace Vyberte příslušnou organizaci GitHubu. Úložiště Vyberte nextjs-starter. Větev Vyberte hlavní. V části Podrobnosti o sestavení vyberte v předvolbách sestavenímožnost Vlastní. Přidejte následující hodnoty jako pro konfiguraci sestavení.
Vlastnost Hodnota Umístění aplikace Do pole zadejte / . Umístění rozhraní API Toto pole nechejte prázdné. Umístění výstupu Do pole zadejte ven .
3. Kontrola a vytvoření
Vyberte Zkontrolovat a vytvořit a ověřte správnost podrobností.
Výběrem možnosti Vytvořit zahájíte vytváření App Service Static Web App a zřídíte GitHub Actions pro nasazení.
Po dokončení nasazení vyberte Přejít k prostředku.
V okně Přehled vyberte odkaz URL a otevřete nasazenou aplikaci.
Pokud se web nenačte okamžitě, je sestavení stále spuštěné. Pokud chcete zkontrolovat stav pracovního postupu Akce, přejděte na řídicí panel Akce pro vaše úložiště:
https://github.com/<YOUR_GITHUB_USERNAME>/nextjs-starter/actions
Po dokončení pracovního postupu můžete aktualizovat prohlížeč a zobrazit webovou aplikaci.
Všechny změny provedené ve main
větvi teď spustí nové sestavení a nasazení vašeho webu.
4. Synchronizace změn
Když jste aplikaci vytvořili, Azure Static Web Apps v úložišti vytvořili soubor GitHub Actions. Synchronizujte se serverem stažením nejnovějších dat do místního úložiště.
Vraťte se do terminálu a spusťte následující příkaz git pull origin main
.
Konfigurace statického vykreslování
Ve výchozím nastavení se aplikace považuje za hybridní vykreslenou Next.js aplikaci, ale pokud ji chcete dál používat jako generátor statické lokality, musíte aktualizovat úlohu nasazení.
Otevřete úložiště v editoru Visual Studio Code.
Přejděte na soubor GitHub Actions, který Azure Static Web Apps přidán do úložiště na adrese
.github/workflows/azure-static-web-apps-<your site ID>.yml
Aktualizujte úlohu Sestavení a nasazení tak, aby měla proměnnou prostředí nastavenou
IS_STATIC_EXPORT
natrue
hodnotu :- 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: true
Potvrďte změny do Gitu a nasdílejte je do GitHubu.
git commit -am "Configuring static site generation" && git push
Po dokončení sestavení se web staticky vykresluje.
Vyčištění prostředků
Pokud tuto aplikaci nebudete dál používat, můžete instanci Azure Static Web Apps odstranit následujícím postupem.
- Otevřete Azure Portal.
- Na horním panelu hledání vyhledejte my-nextjs-group .
- Vyberte název skupiny.
- Vyberte Odstranit.
- Výběrem možnosti Ano akci odstranění potvrďte.