INTEGRITY Dokumentace

Programová konfigurace

Konfigurační soubor Wrangler je při použití pluginu Cloudflare Vite nepovinný. Bez něj plugin použije výchozí hodnoty. Konfiguraci Workeru můžete upravit programově pomocí config možnost. Ta je užitečná, pokud plugin Cloudflare běží uvnitř jiného pluginu nebo frameworku.

Výchozí konfigurace

Bez konfiguračního souboru plugin vygeneruje rozumné výchozí hodnoty pro Worker, který obsahuje pouze assets. name pochází z package.json nebo název adresáře projektu. compatibility_date používá nejnovější datum podporované vaší nainstalovanou verzí Miniflare.

config možnost

config možnost nabízí tři způsoby, jak programově nakonfigurovat svůj Worker. Můžete nastavit libovolnou vlastnost z Konfigurační soubor Wrangler, i když některé možnosti jsou ignorovány nebo nahrazeny ekvivalenty Vite.

Konfigurační objekt

Nastavte config na objekt, který poskytuje hodnoty slučované s výchozími hodnotami a nastaveními v konfiguračním souboru Wrangler:

vite.config.ts
import { defineConfig } from "vite";
import { cloudflare } from "@cloudflare/vite-plugin";

export default defineConfig({
	plugins: [
		cloudflare({
			config: {
				compatibility_date: "2025-01-01",
				vars: {
					API_URL: "https://api.example.com",
				},
			},
		}),
	],
});

Tyto hodnoty se slučují s hodnotami z konfiguračního souboru Wrangler, přičemž config hodnoty mají přednost.

Funkce pro dynamickou konfiguraci

Funkci použijte tehdy, když konfigurace závisí na existujících hodnotách konfigurace nebo externích datech, případně když potřebujete hodnoty vypočítat nebo nastavit podmíněně:

vite.config.ts
import { defineConfig } from "vite";
import { cloudflare } from "@cloudflare/vite-plugin";

export default defineConfig({
	plugins: [
		cloudflare({
			config: (userConfig) => ({
				vars: {
					WORKER_NAME: userConfig.name,
					BUILD_TIME: new Date().toISOString(),
				},
			}),
		}),
	],
});

Funkce obdrží aktuální konfiguraci (výchozí hodnoty nebo načtený konfigurační soubor). Vraťte objekt s hodnotami, které se mají sloučit.

Úprava na místě

A config funkce může přímo měnit objekt konfigurace místo vracení přepisů. To se hodí pro odstranění vlastností nebo prvků pole:

vite.config.ts
import { defineConfig } from "vite";
import { cloudflare } from "@cloudflare/vite-plugin";

export default defineConfig({
	plugins: [
		cloudflare({
			config: (userConfig) => {
				// Replace all existing compatibility flags
				userConfig.compatibility_flags = ["nodejs_compat"];
			},
		}),
	],
});

Pomocní Workers

Pomocní Workers také podporují config možnost umožňující architektury s více Workery bez konfiguračních souborů.

Definujte pomocné Workers bez konfiguračních souborů pomocí config uvnitř auxiliaryWorkers pole:

vite.config.ts
import { defineConfig } from "vite";
import { cloudflare } from "@cloudflare/vite-plugin";

export default defineConfig({
	plugins: [
		cloudflare({
			config: {
				name: "entry-worker",
				main: "./src/entry.ts",
				compatibility_date: "2025-01-01",
				services: [{ binding: "API", service: "api-worker" }],
			},
			auxiliaryWorkers: [
				{
					config: {
						name: "api-worker",
						main: "./src/api.ts",
						compatibility_date: "2025-01-01",
					},
				},
			],
		}),
	],
});

Přepsání konfigurace

Zkombinujte konfigurační soubor s config pro přepsání konkrétních hodnot:

vite.config.ts
import { defineConfig } from "vite";
import { cloudflare } from "@cloudflare/vite-plugin";

export default defineConfig({
	plugins: [
		cloudflare({
			configPath: "./wrangler.jsonc",
			auxiliaryWorkers: [
				{
					configPath: "./workers/api/wrangler.jsonc",
					config: {
						vars: {
							ENDPOINT: "https://api.example.com/v2",
						},
					},
				},
			],
		}),
	],
});

Dědičnost konfigurace

Pomocní Workers dostávají vyřešenou konfiguraci vstupního Workeru jako druhý parametr config funkci. Díky tomu je snadné zdědit konfiguraci ze vstupního Workeru v pomocných Workerech.

vite.config.ts
import { defineConfig } from "vite";
import { cloudflare } from "@cloudflare/vite-plugin";

export default defineConfig({
	plugins: [
		cloudflare({
			auxiliaryWorkers: [
				{
					config: (_, { entryWorkerConfig }) => ({
						name: "auxiliary-worker",
						main: "./src/auxiliary-worker.ts",
						// Inherit compatibility settings from entry Worker
						compatibility_date: entryWorkerConfig.compatibility_date,
						compatibility_flags: entryWorkerConfig.compatibility_flags,
					}),
				},
			],
		}),
	],
});

Chování slučování konfigurace

config možnost používá defu pro slučování konfiguračních objektů.