← Cloudflare Pages / pages / framework-guides
Astro
Astro ↗ je komplexní webový framework pro tvorbu rychlých webů zaměřených na obsah. Astro ve výchozím nastavení vytváří weby zcela bez JavaScriptového runtime kódu.
Viz Dokumentace Astro ↗ a zjistěte více o Astro nebo získejte pomoc s projektem Astro.
V tomto průvodci vytvoříte novou aplikaci Astro a nasadíte ji pomocí Cloudflare Pages.
Video návod
Nastavení nového projektu
Chcete-li použít create-cloudflare k vytvoření nového projektu Astro spusťte následující příkaz:
npm create cloudflare@latest -- my-astro-app --framework=astro --platform=pagesAstro se zeptá:
-
Jaký typ projektu chcete nastavit. Vaše odpovědi neovlivní zbytek tohoto tutoriálu. Vyberte odpověď, která je pro váš projekt nejvhodnější.
-
Pokud chcete inicializovat repozitář Git. Doporučujeme vybrat
Noa postupujte podle tohoto průvodce, sekce Pokyny pro Git níže. Pokud vybereteYes, nepostupujte podle níže uvedených pokynů pro Git doslovně, ale upravte si je podle svých potřeb.
create-cloudflare poté nainstaluje závislosti, mimo jiné Wrangler CLI a @astrojs/cloudflare adaptér a položí vám otázky k nastavení.
Konfigurace Astro
Web Astro s vykreslováním na straně serveru (SSR) můžete na Cloudflare Pages nasadit pomocí @astrojs/cloudflare adaptér ↗. Weby SSR se vykreslují pomocí Pages Functions a umožňují dynamickou funkčnost a přizpůsobení.
Přidejte @astrojs/cloudflare adaptér ↗ do vašeho projektu package.json spuštěním:
npm run astro add cloudflareNež budete pokračovat
Všechny průvodce frameworky předpokládají, že již máte základní znalosti Git ↗. Pokud s Gitem začínáte, podívejte se na tento shrnutá příručka ke Gitu ↗ jak nastavit Git na svém lokálním počítači.
Pokud klonujete přes SSH, musíte vygenerujte SSH klíče ↗ na každém počítači, který používáte pro push nebo pull z GitHubu.
Viz dokumentace GitHub ↗ a Dokumentace Git ↗ s dalšími informacemi.
Vytvořte repozitář GitHub
Vytvořte nový repozitář GitHub na repo.new ↗. Po vytvoření nového repozitáře přejděte do adresáře nově vytvořeného projektu a v terminálu spusťte následující příkazy, kterými připravíte a odešlete svou místní aplikaci na GitHub:
git init
git remote add origin https://github.com/<your-gh-username>/<repository-name>
git add .
git commit -m "Initial commit"
git branch -M main
git push -u origin mainNasadit pomocí Cloudflare Pages
Nasadit přes create-cloudflare CLI (C3)
Pokud používáte create-cloudflare(C3) ↗ k vytvoření nového projektu Astro nainstaluje C3 všechny závislosti, které projekt potřebuje, a vyzve vás k nasazení projektu přes CLI. Pokud jej nasadíte, web se zveřejní a získáte URL adresu nasazení.
Nasadit přes Cloudflare dashboard
Chcete-li nasadit svůj web do Pages:
-
V dashboardu Cloudflare přejděte na Workers & Pages stránce.
Přejděte na Workers & Pages ↗ -
Vyberte Vytvoření aplikace.
-
Vyberte Pages kartě.
-
Vyberte Importujte existující repozitář Git.
-
Vyberte nově vytvořený repozitář GitHub a poté vyberte Zahájit nastavení.
-
V Nastavení sestavení a nasazení sekci uveďte následující informace:
| Konfigurační možnost | Hodnota |
|---|---|
| Produkční větev | main |
| Příkaz sestavení | npm run build |
| Adresář sestavení | dist |
Volitelně můžete přizpůsobit Název projektu pole. Ve výchozím stavu odpovídá názvu repozitáře GitHub, ale shodovat se nemusí. Název projektu hodnota se přiřadí jako váš *.pages.dev subdoména.
Po dokončení konfigurace vyberte Save and Deploy.
Uvidíte své první probíhající nasazení. Pages nainstaluje všechny závislosti a sestaví projekt podle zadání.
Cloudflare Pages při každém novém odeslaném commitu automaticky znovu sestaví váš projekt a nasadí ho.
Kromě toho budete mít přístup k náhledová nasazení, které opakují proces sestavení a nasazení pro pull requesty. Díky nim můžete náhled změn ve svém projektu zobrazit na skutečné URL adrese ještě před jejich nasazením do produkce.
Lokální runtime
Podpora lokálního runtime se konfiguruje pomocí platformProxy možnost:
import { defineConfig } from "astro/config";
import cloudflare from "@astrojs/cloudflare";
export default defineConfig({
adapter: cloudflare({
platformProxy: {
enabled: true,
},
}),
});Použití vazeb v aplikaci Astro
A binding umožňuje vaší aplikaci komunikovat s vývojářskými produkty Cloudflare, například s KV, Durable Object, R2, a D1 ↗.
Vazby v komponentách Astro a API routes použijte pomocí context.locals z Astro Middleware ↗ pro přístup k Cloudflare runtime, který mimo jiné obsahuje prostředí Cloudflare a následně i případné vazby nastavené pro vaši aplikaci.
Příklad přístupu k KV namespace pomocí TypeScriptu najdete níže.
Nejprve musíte definovat typ Cloudflare runtime a KV úpravou env.d.ts. Ujistěte se, že jste vygenerovali runtime typy Cloudflare spuštěním wrangler types.
/// <reference types="astro/client" />
type ENV = {
// replace `MY_KV` with your KV namespace
MY_KV: KVNamespace;
};
// use a default runtime configuration (advanced mode).
type Runtime = import("@astrojs/cloudflare").Runtime<ENV>;
declare namespace App {
interface Locals extends Runtime {}
}Poté můžete k vašemu KV přistupovat z koncového bodu API následujícím způsobem:
import type { APIContext } from "astro";
export async function get({ locals }: APIContext) {
const { MY_KV } = locals.runtime.env;
return {
// ...
};
}Kromě koncových bodů můžete bindings používat i přímo ve svých komponentách Astro:
---
const myKV = Astro.locals.runtime.env.MY_KV;
const value = await myKV.get("key");
---
<div>{value}</div>Chcete-li se dozvědět více o runtime Astro Cloudflare, přečtěte si Přístup k Cloudflare runtime ↗ v dokumentaci Astro.
Zjistit více
Dokončením tohoto návodu jste úspěšně nasadili svůj web Astro na Cloudflare Pages. Chcete-li začít s dalšími frameworky, podívejte se na seznam návodů pro frameworky.