← Cloudflare Pages / pages / functions
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"]
}
}