INTEGRITY Dokumentace

TypeScript

Pages Functions podporuje TypeScript. Soubory ve své /functions adresář s .ts příponu místo .js příponu, abyste mohli začít používat TypeScript.

Typy runtime a typy Env můžete přidat spuštěním:

npx wrangler types --path='./functions/types.d.ts'

Poté nakonfigurujte typy vytvořením functions/tsconfig.json soubor:

{
	"compilerOptions": {
		"target": "esnext",
		"module": "esnext",
		"lib": ["esnext"],
		"types": ["./types.d.ts"]
	}
}

Viz wrangler types dokumentace k příkazu pro další podrobnosti.

Pokud již máte tsconfig.json v kořeni projektu, možná budete chtít výslovně vyloučit /functions adresáře, aby nedocházelo ke konfliktům. Chcete-li vyloučit /functions adresář:

{
	"include": ["src/**/*"],
	"exclude": ["functions/**/*"],
	"compilerOptions": {}
}

Pages Functions lze typovat pomocí PagesFunction typ. Tento typ přijímá Env parametr. Env typ měl být vygenerován pomocí wrangler types a lze jej najít v horní části types.d.ts.

Alternativně můžete definovat Env typ ručně. Například:

interface Env {
	KV: KVNamespace;
}

export const onRequest: PagesFunction<Env> = async (context) => {
	const value = await context.env.KV.get("example");
	return new Response(value);
};

Pokud používáte nodejs_compat, ujistěte se, že máte nainstalovaný @types/node a aktualizovali svůj tsconfig.json.

{
	"compilerOptions": {
		"target": "esnext",
		"module": "esnext",
		"lib": ["esnext"],
		"types": ["./types.d.ts", "node"]
	}
}