INTEGRITY Dokumentace

Astro

Začít z CLI: Vytvořte základ projektu Astro na Workers a vyberte si šablonu.

npm create cloudflare@latest -- my-astro-app --framework=astro

Nebo jen nasaďte: Vytvořte statický blog pomocí Astro a nasaďte ho na Cloudflare Workers, včetně předem nastaveného CI/CD a náhledů.

Nasaďte na Workers

Co je Astro?

Astro je JavaScriptový webový framework určený pro tvorbu webů zobrazujících velké množství obsahu (například blogy, dokumentační weby nebo online obchody).

Astro klade důraz na výkon díky minimálnímu množství JavaScriptu na straně klienta: ve výchozím nastavení vykresluje co nejvíce obsahu už při buildu, nebo na vyžádání na "serveru": tím může být Cloudflare Worker. “Ostrovy” JavaScriptu se přidávají pouze tam, kde je potřeba interaktivita nebo personalizace.

Astro je zároveň nezávislé na frameworku a podporuje všechny hlavní UI frameworky, včetně React, Preact, Svelte, Vue a SolidJS, prostřednictvím svého oficiálního integrace.

Nasaďte nový projekt Astro na Workers

  1. Vytvořte nový projekt pomocí create-cloudflare CLI (C3).

    npm create cloudflare@latest -- my-astro-app --framework=astro

    Co se děje v zákulisí?

    Když spustíte tento příkaz, C3 vytvoří nový adresář projektu, zahájí Oficiální nástroj Astro pro nastavení, a nakonfiguruje projekt pro Cloudflare. Poté nabídne možnost okamžitě nasadit vaši aplikaci na Cloudflare.

  2. Vývoj lokálně.

    Po vytvoření projektu spusťte v adresáři projektu následující příkaz, který spustí lokální vývojový server.

    npm run dev
  3. Nasaďte svůj projekt.

    Svůj projekt můžete nasadit do *.workers.dev subdoména nebo vlastní doména z vašeho lokálního počítače nebo libovolného systému CI/CD (včetně Workers Builds). Sestavení a nasazení proveďte pomocí následujícího příkazu. Pokud používáte službu CI, nezapomeňte odpovídajícím způsobem upravit svůj "deploy command".

    npm run deploy

Nasaďte existující projekt Astro na Workers

AstroRozpoznáno
Konektor: Framework to Config
položky konfigurace
Vygenerovaná konfigurace
wrangler.jsonc
main:dist/_worker.js/index.js
wrangler.jsonc
assets:adresář: ./dist, binding: ASSETS
wrangler.jsonc
compatibility_flags:nodejs_compat
wrangler.jsonc
observabilita:enabled: true
astro.config.mjs
adaptér:@astrojs/cloudflare
Konektor: Config to Workers
Workers uzlu
WorkersNasazeno
Ukazatel stavu
Wrangler zpracovává konfiguraci automaticky

Manuální konfigurace

Pokud chcete projekt nakonfigurovat ručně, postupujte podle následujících kroků.

Pokud máte statický web

Pokud je váš projekt Astro celý předrenderovaný, postupujte takto:

  1. Přidání konfiguračního souboru Wrangler

    V kořenovém adresáři projektu vytvořte konfigurační soubor Wrangler s následujícím obsahem:

    {
    	"name": "my-astro-app",
    	// Set this to today's date
    	"compatibility_date": "2026-08-28",
    	"assets": {
    		"directory": "./dist"
    	}
    }
    name = "my-astro-app"
    # Set this to today's date
    compatibility_date = "2026-08-28"
    
    [assets]
    directory = "./dist"

    Co dělá tato konfigurace?

    Klíčovou částí této konfigurace je assets pole, které Wrangleru říká, kde má hledat vaše statická aktiva. V tomto případě Wrangleru říkáme, aby hledal ve složce ./dist adresář. Pokud se vaše aktiva nacházejí v jiném adresáři, aktualizujte directory hodnotu podle toho. Přečtěte si o dalších možnosti konfigurace pro assets.

    Všimněte si také, že zde není žádné main pole v této konfiguraci, protože obsluhujete jen statické assety, takže pro rendering na vyžádání (SSR) není kód Workeru potřeba.

  2. Vytvořte a nasaďte svůj projekt

    Svůj projekt můžete nasadit do *.workers.dev subdoména nebo vlastní doména z vašeho lokálního počítače nebo libovolného systému CI/CD (včetně Workers Builds). Sestavení a nasazení proveďte pomocí následujícího příkazu. Pokud používáte službu CI, nezapomeňte odpovídajícím způsobem upravit svůj "deploy command".

    npx astro build
    npx wrangler@latest deploy

Pokud váš web používá vykreslování na vyžádání

Pokud váš projekt Astro používá vykreslování na vyžádání (známé také jako SSR), postupujte takto:

  1. Nainstalujte adaptér Astro Cloudflare

    npx astro add cloudflare

    Co se děje v zákulisí?

    Tento příkaz nainstaluje adaptér Cloudflare a provede příslušné změny ve vašem astro.config.mjs soubor v jednom kroku. Ve výchozím nastavení se tím konfigurace výstupu sestavení nastaví na output: 'server', který ve výchozím nastavení vykresluje všechny vaše stránky na serveru. Pokud existují určité stránky, které ne nevyžadují rendrování na vyžádání (SSR), například statické stránky jako zásady ochrany osobních údajů, měli byste nastavit export const prerender = true pro danou stránku nebo trasu a předvykreslit ji. Více o možnostech konfigurace adaptéru se dozvíte v dokumentaci Astro.

  2. Přidejte .assetsignore soubor Vytvořte .assetsignore soubor v public/ složku a přidejte do ní následující řádky:

    .assetsignore
    _worker.js
    _routes.json
  3. Přidání konfiguračního souboru Wrangler

    V kořenovém adresáři projektu vytvořte konfigurační soubor Wrangler s následujícím obsahem:

    {
    	"name": "my-astro-app",
    	"main": "./dist/_worker.js/index.js",
    	// Update to today's date
    	// Set this to today's date
    	"compatibility_date": "2026-08-28",
    	"compatibility_flags": ["nodejs_compat"],
    	"assets": {
    		"binding": "ASSETS",
    		"directory": "./dist"
    	},
    	"observability": {
    		"enabled": true
    	}
    }
    name = "my-astro-app"
    main = "./dist/_worker.js/index.js"
    # Set this to today's date
    compatibility_date = "2026-08-28"
    compatibility_flags = [ "nodejs_compat" ]
    
    [assets]
    binding = "ASSETS"
    directory = "./dist"
    
    [observability]
    enabled = true

    Co dělá tato konfigurace?

    Klíčové části této konfigurace jsou:

    • main odkazuje na vstupní bod vašeho skriptu Worker. Generuje ho adaptér Astro a pohání jím vaše stránky vykreslované na serveru.
    • assets.directory říká Wrangleru, kde má hledat statické assety. V tomto případě Wrangleru říkáme, aby se podíval do ./dist adresář. Pokud se vaše aktiva nacházejí v jiném adresáři, aktualizujte directory hodnotu podle toho.

    Přečtěte si více o Možnosti konfigurace Wrangleru a možnosti konfigurace pro assets.

  4. Vytvořte a nasaďte svůj projekt

    Svůj projekt můžete nasadit do *.workers.dev subdoména nebo vlastní doména z vašeho lokálního počítače nebo libovolného systému CI/CD (včetně Workers Builds). Sestavení a nasazení proveďte pomocí následujícího příkazu. Pokud používáte službu CI, nezapomeňte odpovídajícím způsobem upravit svůj "deploy command".

    npx astro build
    npx wrangler@latest deploy

Bindings

Díky bindings lze vaši aplikaci Astro plně integrovat s Cloudflare Developer Platform a získat tak přístup k výpočetnímu výkonu, úložišti, AI a dalším službám. Viz přehled vazeb další informace o tom, co je k dispozici a jak to nakonfigurovat.

Dokumentace Astro poskytuje informace o tom, jak k nim můžete přistupovat ve svém locals.

Relace

Astro Sessions API umožňuje ukládat uživatelská data mezi jednotlivými požadavky, například uživatelská nastavení, obsah nákupního košíku nebo přihlašovací údaje. Při použití adaptéru Cloudflare Astro automaticky nakonfiguruje Workers KV pro ukládání relací.

Wrangler automaticky vytvoří KV namespace s názvem SESSION při nasazení, takže není nutné žádné ruční nastavení.

---
export const prerender = false;
const cart = await Astro.session?.get("cart");
---

<a href="/checkout">{cart?.length ?? 0} items</a>

Název KV bindingu můžete přizpůsobit pomocí sessionKVBindingName volbu adaptéru, pokud chcete použít jiný název bindingu.

Vlastní stránky 404

Chcete-li pro svůj web Astro zobrazovat vlastní stránku 404, přidejte not_found_handling do konfigurace Wrangler:

{
	"assets": {
		"directory": "./dist",
		"not_found_handling": "404-page"
	}
}
[assets]
directory = "./dist"
not_found_handling = "404-page"

Toto řekne Cloudflare, aby doručil vaši vlastní 404 stránku (například src/pages/404.astro) když se nenajde žádná route. Více se dozvíte v chování směrování statických aktiv.

Konfigurace buildu Astro

Adaptér Astro pro Cloudflare nastavuje konfiguraci výstupu sestavení na output: 'server', což znamená, že všechny stránky se vykreslují na vyžádání ve vašem Cloudflare Workeru. Pokud existují určité stránky, které ne nevyžadují rendrování na vyžádání (SSR), například statické stránky, jako jsou zásady ochrany osobních údajů, měli byste nastavit export const prerender = true pro danou stránku nebo route, aby se předrenderovala. Více o on-demand rendering se dozvíte v dokumentaci Astro.

Pokud chcete Astro používat jako generátor statických webů, adaptér Astro Cloudflare nepotřebujete. Astro standardně předrenderuje všechny stránky již při sestavení a tyto statické soubory pak stačí nahrát, aby je doručovala Cloudflare.

Požadavky na Node.js

Astro 5.x podporuje Node.js 18.20.8, Node.js 20.3.0 a novější verze řady 20.x nebo Node.js 22.0.0 a novější. Astro 6.x a 7.x vyžadují Node.js 22.12.0 nebo novější. Pokud používáte Workers Builds, jeho výchozí verze Node.js tyto požadavky splňuje. Pokud výchozí verzi přepíšete, zvolte verzi, která splňuje Požadavky Astro na Node.js.