← Cloudflare Workers / workers / vite-plugin / reference
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:
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ě:
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:
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:
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:
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.
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ů.
- Vlastnosti objektu se slučují rekurzivně
- Pole se spojují (
confighodnoty jako první, poté existující hodnoty) - Primitivní hodnoty z
configpřepsat existující hodnoty undefinedhodnoty vconfignepřepisují existující hodnoty