← Cloudflare Pages / pages / functions
Konfigurace
Pages Functions lze nakonfigurovat dvěma způsoby, buď pomocí Cloudflare dashboard ↗ nebo konfigurační soubor Wrangler, tedy soubor, kterým si přizpůsobíte nastavení vývoje a nasazení pro Workers a Pages Functions.
Tato stránka slouží jako referenční přehled konfigurace projektu Pages pomocí konfiguračního souboru Wrangler.
Pokud používáte konfigurační soubor Wrangler, musíte se svým souborem zacházet jako s zdroj pravdy pro konfiguraci vašeho projektu Pages.
Pomocí konfiguračního souboru Wrangler můžete projekt Pages nastavit tak, abyste mohli:
- Uložte konfigurační soubor do systému správy verzí: Uchovávejte svou konfiguraci v repozitáři spolu se zbytkem kódu.
- Upravte konfiguraci ve svém editoru kódu: Odstraňte nutnost přepínat se mezi rozhraními.
- Napište konfiguraci sdílenou napříč prostředími: Definujte konfiguraci, například vazby pro lokální vývoj, náhled i produkci v jednom souboru.
- Zajistěte lepší řízení přístupu: Pomocí konfiguračního souboru v repozitáři projektu můžete řídit, kdo smí provádět změny, aniž byste museli udělovat přístup ke svému Cloudflare dashboardu.
Příklad souboru Wrangler
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "my-pages-app",
"pages_build_output_dir": "./dist",
"kv_namespaces": [
{
"binding": "KV",
"id": "<NAMESPACE_ID>"
}
],
"d1_databases": [
{
"binding": "DB",
"database_name": "northwind-demo",
"database_id": "<DATABASE_ID>"
}
],
"vars": {
"API_KEY": "1234567asdf"
}
}"$schema" = "./node_modules/wrangler/config-schema.json"
name = "my-pages-app"
pages_build_output_dir = "./dist"
[[kv_namespaces]]
binding = "KV"
id = "<NAMESPACE_ID>"
[[d1_databases]]
binding = "DB"
database_name = "northwind-demo"
database_id = "<DATABASE_ID>"
[vars]
API_KEY = "1234567asdf"Požadavky
Systém sestavení V2
Konfigurace Pages Functions prostřednictvím konfiguračního souboru Wrangler vyžaduje Systém sestavení V2 nebo novější. Pokud přecházíte z V1, přečtěte si Pokyny pro migraci na systém sestavení V2.
Wrangler
Pro použití konfiguračního souboru Wrangler v konfiguraci projektu Pages musíte mít Wrangler verze 3.45.0 nebo vyšší. Pro kontrolu verze Wrangler, jeho aktualizaci nebo instalaci si přečtěte Instalace/aktualizace Wrangler.
Migrace z konfigurace v dashboardu
Pokyny k migraci pro projekty Pages, které v současné době nemají soubor Wrangler, se liší od pokynů pro projekty Pages s existujícím souborem Wrangler. Pečlivě si přečtěte pokyny odpovídající vaší situaci, abyste se vyhnuli chybám v produkčním prostředí.
Projekty s existujícím souborem Wrangler
Než bylo možné pomocí konfiguračního souboru Wrangler definovat konfiguraci pro preview a produkci, dal se tento soubor použít k definování, které vazby by měla být dostupná ve vašem projektu Pages při lokálním vývoji.
Pokud jste pro lokální vývoj používali konfigurační soubor Wrangler, možná už ve svém projektu Pages máte soubor, který vypadá takto:
{
"kv_namespaces": [
{
"binding": "KV",
"id": "<NAMESPACE_ID>"
}
]
}[[kv_namespaces]]
binding = "KV"
id = "<NAMESPACE_ID>"Pokud chcete pro konfiguraci projektu Pages použít existující soubor Wrangler, musíte:
- Přidejte
pages_build_output_dirklíč s odpovídající hodnotou vašeho výstupní adresář sestavení (napříkladpages_build_output_dir = "./dist".) - Před nasazením pečlivě zkontrolujte stávající konfiguraci Wrangler, aby odpovídala požadované konfiguraci projektu.
Pokud přidáte pages_build_output_dir klíč do konfiguračního souboru Wrangler a nasadíte svůj projekt Pages, Pages použije konfiguraci definovanou pro lokální použití, která bude velmi pravděpodobně neprodukční. Nenasazujte, dokud si nebudete jistí, že je váš konfigurační soubor Wrangler připravený pro produkční použití.
Svůj soubor Wrangler můžete i nadále používat pro lokální vývoj bez nutnosti jej migrovat pro produkční použití, pokud nepřidáte pages_build_output_dir klíč. Pokud nepřidáte pages_build_output_dir klíč a spusťte wrangler pages deploy, zobrazí se vám varovná zpráva, že chybí pole a že soubor se bude i nadále používat pouze pro místní vývoj.
Projekty bez existujícího souboru Wrangler
Pokud máte existující projekt Pages s konfigurací nastavenou přes Cloudflare dashboard a ve svém projektu nemáte existující soubor Wrangler, spusťte wrangler pages download config příkaz v adresáři vašeho projektu Pages. wrangler pages download config příkaz stáhne vaši stávající konfiguraci z Cloudflare dashboardu a vygeneruje platný soubor Wrangler v adresáři vašeho projektu Pages.
npx wrangler pages download config <PROJECT_NAME>yarn wrangler pages download config <PROJECT_NAME>pnpm wrangler pages download config <PROJECT_NAME>Zkontrolujte vygenerovaný soubor Wrangler. Chcete-li začít používat konfigurační soubor Wrangler pro konfiguraci projektu Pages, vytvořte nové nasazení přes Integrace Git nebo Direct Upload.
Práce s daty kompatibility nastavenými na "Latest"
V Cloudflare dashboardu můžete nastavit datum kompatibility pro náhledová nasazení na hodnotu "Latest". Díky tomu bude váš projekt vždy používat nejnovější datum kompatibility, aniž byste ho museli sami explicitně nastavovat.
Pokud stáhnete konfigurační soubor Wrangler z projektu nakonfigurovaného na "Latest" pomocí wrangler pages download příkazu bude váš konfigurační soubor Wrangler obsahovat nejnovější dostupné datum kompatibility platné v době stažení konfiguračního souboru. Wrangler nepodporuje funkci "Latest" jako dashboard. Při použití konfiguračního souboru Wrangler musí být datum kompatibility nastaveno explicitně.
Viz tento průvodce s dalšími informacemi o tom, co jsou to compatibility dates a jak fungují.
Rozdíly při použití konfiguračního souboru Wrangler pro Pages Functions a Workers
Pokud jste použili Workers, možná už znáte Konfigurační soubor Wrangler. Při použití tohoto souboru v projektu Pages Functions je třeba mít na paměti několik klíčových rozdílů:
- Konfigurační pole se přesně neshodují mezi souborem Wrangler pro Pages Functions a jeho ekvivalentem pro Workers. Konfigurační klíče jako například
main, specifické pro Workers, se na konfigurační soubor Wrangler pro Pages Function nevztahují. Některé funkce podporované Workers, jako například aliasy modulů zatím nelze v projektech Cloudflare Pages použít. - Konfigurační soubor Wrangler pro Pages zavádí nový klíč
pages_build_output_dir, který se používá pouze pro projekty Pages. - Koncept prostředí a dědičnost konfigurace v tomto souboru není stejné jako u Workers.
- Tento soubor se stává zdroj pravdy při použití, což znamená, že nemůžete upravovat stejná pole v dashboardu jakmile tento soubor používáte.
Nastavte prostředí
Pomocí konfiguračního souboru Wrangler můžete rychle nastavit konfiguraci pro lokální prostředí, náhledová nasazení i produkci.
Lokální vývoj
Konfigurační soubor Wrangler se použije lokálně při použití wrangler pages dev. To znamená, že změny konfigurace můžete rychle vyzkoušet, aniž byste se museli přihlašovat do Cloudflare dashboardu. Příklad najdete v následujícím konfiguračním souboru:
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "my-pages-app",
"pages_build_output_dir": "./dist",
// Set this to today's date
"compatibility_date": "2026-08-28",
"compatibility_flags": [
"nodejs_compat"
],
"kv_namespaces": [
{
"binding": "KV",
"id": "<NAMESPACE_ID>"
}
]
}"$schema" = "./node_modules/wrangler/config-schema.json"
name = "my-pages-app"
pages_build_output_dir = "./dist"
# Set this to today's date
compatibility_date = "2026-08-28"
compatibility_flags = [ "nodejs_compat" ]
[[kv_namespaces]]
binding = "KV"
id = "<NAMESPACE_ID>"Tento konfigurační soubor Wrangler přidává nodejs_compat příznak kompatibility a vazbu na KV namespace do vašeho projektu Pages. Spuštěním wrangler pages dev v adresáři projektu Pages s tímto konfiguračním souborem Wrangler použije nodejs_compat příznak kompatibility lokálně a zpřístupní KV binding v kódu vaší Pages Function na context.env.KV.
Produkční a náhledová nasazení
Jakmile budete připraveni projekt nasadit, můžete nastavit konfiguraci pro produkční i náhledová nasazení vytvořením nového nasazení obsahujícího soubor Wrangler.
Chcete-li použít výše uvedený příklad jako konfiguraci pro produkci, vytvořte nové produkční nasazení pomocí:
npx wrangler pages deploynebo přesněji:
npx wrangler pages deploy --branch <PRODUCTION BRANCH>Chcete-li nasadit konfiguraci pro náhledová nasazení, můžete spustit stejný příkaz jako výše na větvi, kterou jste nakonfigurovali pro práci s náhledová nasazení. Tím se nastaví konfigurace pro všechna náhledová nasazení, nejen pro nasazení z konkrétní větve. Pages v současné době konfiguraci podle větví nepodporuje.
Přepisy specifické pro dané prostředí
Někdy budete chtít použít odlišnou konfiguraci pro lokální vývoj, náhledová nasazení a produkci. Konfiguraci pro produkci a náhledová nasazení lze přepsat pomocí [env.production] nebo [env.preview].
Příklad přepsání konfigurace preview nasazení najdete v následujícím konfiguračním souboru Wrangler:
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "my-pages-site",
"pages_build_output_dir": "./dist",
"kv_namespaces": [
{
"binding": "KV",
"id": "<NAMESPACE_ID>"
}
],
"vars": {
"API_KEY": "1234567asdf"
},
"env": {
"preview": {
"kv_namespaces": [
{
"binding": "KV",
"id": "<PREVIEW_NAMESPACE_ID>"
}
],
"vars": {
"API_KEY": "8901234bfgd"
}
}
}
}"$schema" = "./node_modules/wrangler/config-schema.json"
name = "my-pages-site"
pages_build_output_dir = "./dist"
[[kv_namespaces]]
binding = "KV"
id = "<NAMESPACE_ID>"
[vars]
API_KEY = "1234567asdf"
[[env.preview.kv_namespaces]]
binding = "KV"
id = "<PREVIEW_NAMESPACE_ID>"
[env.preview.vars]
API_KEY = "8901234bfgd"Pokud jste tento soubor nasadili přes wrangler pages deploy, name, pages_build_output_dir, kv_namespaces, a vars by se konfigurace použila pro lokální i produkční prostředí, zatímco env.preview by došlo k přepsání kv_namespaces a vars pro nasazení Preview.
Pokud jste chtěli, aby se konfigurační hodnoty použily pro místní prostředí a náhled, ale přepsaly produkci, soubor by vypadal takto:
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "my-pages-site",
"pages_build_output_dir": "./dist",
"kv_namespaces": [
{
"binding": "KV",
"id": "<NAMESPACE_ID>"
}
],
"vars": {
"API_KEY": "1234567asdf"
},
"env": {
"production": {
"kv_namespaces": [
{
"binding": "KV",
"id": "<PRODUCTION_NAMESPACE_ID>"
}
],
"vars": {
"API_KEY": "8901234bfgd"
}
}
}
}"$schema" = "./node_modules/wrangler/config-schema.json"
name = "my-pages-site"
pages_build_output_dir = "./dist"
[[kv_namespaces]]
binding = "KV"
id = "<NAMESPACE_ID>"
[vars]
API_KEY = "1234567asdf"
[[env.production.kv_namespaces]]
binding = "KV"
id = "<PRODUCTION_NAMESPACE_ID>"
[env.production.vars]
API_KEY = "8901234bfgd"Vždy můžete být explicitní a přepsat jak náhledové, tak produkční prostředí:
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "my-pages-site",
"pages_build_output_dir": "./dist",
"kv_namespaces": [
{
"binding": "KV",
"id": "<NAMESPACE_ID>"
}
],
"vars": {
"API_KEY": "1234567asdf"
},
"env": {
"preview": {
"kv_namespaces": [
{
"binding": "KV",
"id": "<PREVIEW_NAMESPACE_ID>"
}
],
"vars": {
"API_KEY": "8901234bfgd"
}
},
"production": {
"kv_namespaces": [
{
"binding": "KV",
"id": "<PRODUCTION_NAMESPACE_ID>"
}
],
"vars": {
"API_KEY": "6567875fvgt"
}
}
}
}"$schema" = "./node_modules/wrangler/config-schema.json"
name = "my-pages-site"
pages_build_output_dir = "./dist"
[[kv_namespaces]]
binding = "KV"
id = "<NAMESPACE_ID>"
[vars]
API_KEY = "1234567asdf"
[[env.preview.kv_namespaces]]
binding = "KV"
id = "<PREVIEW_NAMESPACE_ID>"
[env.preview.vars]
API_KEY = "8901234bfgd"
[[env.production.kv_namespaces]]
binding = "KV"
id = "<PRODUCTION_NAMESPACE_ID>"
[env.production.vars]
API_KEY = "6567875fvgt"Dědičné klíče
Dědičné klíče lze nastavit na nejvyšší úrovni a mohou být zděděny (nebo přepsány) konfigurací specifickou pro dané prostředí.
-
namestringpovinné- Název vašeho projektu Pages. Povoleny jsou pouze alfanumerické znaky a pomlčky.
-
pages_build_output_dirstringpovinné- Cesta k výstupní složce sestavení vašeho projektu. Například:
./dist.
- Cesta k výstupní složce sestavení vašeho projektu. Například:
-
compatibility_datestringpovinné- Datum ve tvaru
yyyy-mm-dd, která se použije k určení, jaká verze Workers runtime se použije. Viz Data kompatibility.
- Datum ve tvaru
-
compatibility_flagsstring[] volitelné- Seznam flagů, které zapínají funkce z připravovaných verzí Workers runtime, obvykle používaných společně s
compatibility_date. Viz data kompatibility.
- Seznam flagů, které zapínají funkce z připravovaných verzí Workers runtime, obvykle používaných společně s
-
send_metricsbooleanvolitelné- Zda má Wrangler pro tento projekt odesílat data o používání do Cloudflare. Výchozí hodnota je
true. Více se o tom dozvíte v naší zásady zpracování dat ↗.
- Zda má Wrangler pro tento projekt odesílat data o používání do Cloudflare. Výchozí hodnota je
-
limitsLimity nepovinné- Konfiguruje limity uplatňované při běhu (runtime). Viz Limity.
-
placementUmístění nepovinné- Určete, kde by se měly Pages Functions nacházet, aby se minimalizovala doba odezvy (round-trip time). Viz Smart Placement.
-
upload_source_mapsboolean- Když
upload_source_mapsje nastaveno natrue, Wrangler nahraje veškeré server-side source mapy, které jsou součástí vašeho projektu Pages, aby v protokolech poskytoval opravené stack trace.
- Když
Neděditelné klíče
Neděditelné klíče lze nastavit na nejvyšší úrovni. Pokud je ale některý neděditelný klíč přepsán pro libovolné prostředí (například,[[env.production.kv_namespaces]]), musí být všechny nedědičné klíče rovněž uvedeny v konfiguraci prostředí a přepsány.
Tato konfigurace například nebude fungovat:
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "my-pages-site",
"pages_build_output_dir": "./dist",
"kv_namespaces": [
{
"binding": "KV",
"id": "<NAMESPACE_ID>"
}
],
"vars": {
"API_KEY": "1234567asdf"
},
"env": {
"production": {
"vars": {
"API_KEY": "8901234bfgd"
}
}
}
}"$schema" = "./node_modules/wrangler/config-schema.json"
name = "my-pages-site"
pages_build_output_dir = "./dist"
[[kv_namespaces]]
binding = "KV"
id = "<NAMESPACE_ID>"
[vars]
API_KEY = "1234567asdf"
[env.production.vars]
API_KEY = "8901234bfgd"[[env.production.vars]] je nastavený tak, aby přepsal [vars]. Z tohoto důvodu [[kv_namespaces]] je také nutné přepsat definováním [[env.production.kv_namespaces]].
Toto bude fungovat pro lokální vývoj, ale při pokusu o nasazení validace selže.
-
varsobjectvolitelné- Mapa proměnných prostředí, které se nastaví při nasazení vaší Function. Viz Proměnné prostředí.
-
d1_databasesobjectvolitelné- Seznam databází D1, na které by měla být navázána vaše Function. Viz Databáze D1.
-
durable_objectsobjectvolitelné- Seznam Durable Objects, na které by měla být navázána vaše Function. Viz Durable Objects.
-
hyperdriveobjectvolitelné- Určuje konfigurace Hyperdrive, na které by měla být vaše Function navázána. Viz Hyperdrive.
-
kv_namespacesobjectvolitelné- Seznam KV namespaces, na které by měla být navázána vaše Function. Viz KV namespaces.
-
queues.producersobjectvolitelné- Určuje Queues Producers navázané na tuto Function. Viz Queues Producers.
-
r2_bucketsobjectvolitelné- Seznam R2 bucketů, na které by měla být navázána vaše Function. Viz R2 buckety.
-
vectorizeobjectvolitelné- Seznam indexů Vectorize, na které by měla být navázána vaše Function. Viz Vectorize indexy.
-
servicesobjectvolitelné- Seznam service bindings, na které by měla být navázána vaše Function. Viz service bindings.
-
analytics_engine_datasetsobjectvolitelné- Určuje datové sady Analytics Engine navázané na tuto Function. Viz Workers Analytics Engine.
-
aiobjectvolitelné- Určuje AI binding pro tuto Function. Viz Workers AI.
Limity
Limity pro svůj projekt Pages můžete nakonfigurovat stejným způsobem jako u Workers. Přečtěte si tento průvodce pro další podrobnosti.
Bindings
A binding umožňuje vašim Pages Functions pracovat s prostředky na Cloudflare Developer Platform. Pomocí bindings propojíte své Pages Functions s prostředky Cloudflare, jako je KV, Durable Objects, R2, a D1. Vazby můžete nastavit jak pro produkční, tak pro náhledové prostředí.
Databáze D1
D1 je bezserverová SQL databáze Cloudflare. Funkce může dotazovat databázi D1 (nebo databáze) vytvořením binding ke každé databázi pro D1 Workers Binding API.
- Nastavte bindings databáze D1 prostřednictvím Soubor Wrangler stejným způsobem, jako se konfigurují u Cloudflare Workers.
- Pracujte se svým D1 Database binding.
Durable Objects
Durable Objects poskytují koordinaci s nízkou latencí a konzistentní úložiště pro platformu Workers.
- Nastavte bindings jmenného prostoru Durable Object prostřednictvím Soubor Wrangler stejným způsobem, jako se konfigurují u Cloudflare Workers.
- Pracujte se svým Vazba na namespace Durable Object.
Proměnné prostředí
Proměnné prostředí jsou typem vazby, která umožňuje připojit textové řetězce nebo hodnoty JSON k vaší Pages Function.
- Nastavte proměnné prostředí prostřednictvím Soubor Wrangler stejným způsobem, jako se konfigurují u Cloudflare Workers.
- Pracujte se svým proměnné prostředí.
Hyperdrive
Hyperdrive bindings umožňují komunikovat s libovolnou databází Postgres a dotazovat se do ní přímo z Pages Function.
- Nastavte bindings Hyperdrive prostřednictvím Soubor Wrangler stejným způsobem, jako se konfigurují u Cloudflare Workers.
KV namespaces
Workers KV je globální úložiště dat typu klíč-hodnota s nízkou latencí. Ukládá data v malém počtu centralizovaných datových center a po přístupu je poté ukládá do mezipaměti v datových centrech Cloudflare.
- Nastavte bindings jmenného prostoru KV prostřednictvím Soubor Wrangler stejným způsobem, jako se konfigurují u Cloudflare Workers.
- Pracujte se svým Vazba jmenného prostoru KV.
Queues Producers
Queues je globální služba pro frontování zpráv od Cloudflare, poskytující zaručené doručení a dávkování zpráv. Queue Producers vám umožňují odesílat zprávy do fronty přímo z vaší Pages Function.
- Nastavte bindings Queues Producer prostřednictvím Soubor Wrangler stejným způsobem, jako se konfigurují u Cloudflare Workers.
- Pracujte se svým Queues Producer binding.
R2 buckety
Cloudflare R2 Storage umožňuje vývojářům ukládat velké objemy nestrukturovaných dat bez nákladných poplatků za odchozí přenos dat (egress), které jsou typické pro běžné cloudové úložné služby.
- Nastavte bindings R2 bucketu prostřednictvím Soubor Wrangler stejným způsobem, jako se konfigurují u Cloudflare Workers.
- Pracujte se svým R2 bucket bindings.
Vectorize indexy
A Vectorize index umožňuje vkládat a dotazovat vektorové embeddingy pro sémantické vyhledávání, klasifikaci a další případy použití vektorového vyhledávání.
- Nastavte bindings Vectorize prostřednictvím Soubor Wrangler stejným způsobem, jako se konfigurují u Cloudflare Workers.
Service bindings
Service binding umožňuje volat Worker přímo z vaší Pages Function. Navázáním Pages Function na Worker můžete Workeru odesílat HTTP požadavky, aniž by procházely internetem. Požadavek okamžitě vyvolá navazující Worker, což snižuje latenci ve srovnání s požadavkem na službu třetí strany. Viz O Service bindings.
- Nastavte service bindings prostřednictvím Soubor Wrangler stejným způsobem, jako se konfigurují u Cloudflare Workers.
- Pracujte se svým service bindings.
Analytics Engine Datasets
Workers Analytics Engine poskytuje analytiku, observabilitu a logování dat z Pages Functions. Zapisujte datové body v rámci vazby Pages Function a poté je dotazujte pomocí SQL API.
- Nastavte bindings Analytics Engine Dataset prostřednictvím Soubor Wrangler stejným způsobem, jako se konfigurují u Cloudflare Workers.
- Pracujte se svým Analytics Engine Dataset.
Workers AI
Workers AI umožňuje spouštět modely strojového učení v síti Cloudflare přímo z vlastního kódu, ať už z Workers, Pages nebo odkudkoli přes REST API.
Na rozdíl od ostatních vazeb je tato vazba omezena na jednu vazbu AI na jeden projekt Pages Function.
- Nastavte bindings Workers AI prostřednictvím Soubor Wrangler stejným způsobem, jako se konfigurují u Cloudflare Workers.
- Pracujte se svým Vazba Workers AI.
Nastavení lokálního vývoje
Nastavení lokálního vývoje, které lze konfigurovat, je stejné pro Pages Functions i Cloudflare Workers. Přečtěte si tento průvodce pro další podrobnosti.
Zdroj pravdy
Pokud jej používáte v projektech Pages Functions, je váš soubor Wrangler jediným zdrojem pravdy. Po přihlášení do Cloudflare dashboardu uvidíte stejná pole, ale nebudete je moci upravovat.
Pokud se rozhodnete, že pro konfiguraci nechcete používat konfigurační soubor Wrangler, můžete jej bez obav smazat a vytvořit nové nasazení. Hodnoty konfigurace z posledního nasazení budou nadále platit a budete je moci upravit v dashboardu.