← Cloudflare Pages / pages / functions
TypeScript
Pages Functions поддерживает TypeScript. Создавайте любые файлы в своей /functions директория с .ts расширение вместо .js расширение, чтобы начать использовать TypeScript.
Типы времени выполнения и типы Env можно добавить, выполнив:
npx wrangler types --path='./functions/types.d.ts'Затем настройте типы, создав functions/tsconfig.json файле:
{
"compilerOptions": {
"target": "esnext",
"module": "esnext",
"lib": ["esnext"],
"types": ["./types.d.ts"]
}
}См. wrangler types документация по команде для дополнительных сведений.
Если у вас уже есть tsconfig.json в корне вашего проекта, вы можете явно исключить /functions директорию во избежание конфликтов. Чтобы исключить /functions каталог:
{
"include": ["src/**/*"],
"exclude": ["functions/**/*"],
"compilerOptions": {}
}Типы для Pages Functions можно задать с помощью PagesFunction тип. Этот тип принимает Env параметр. Env тип должен был быть сгенерирован wrangler types и находится в начале types.d.ts.
Также вы можете определить Env тип вручную. Например:
interface Env {
KV: KVNamespace;
}
export const onRequest: PagesFunction<Env> = async (context) => {
const value = await context.env.KV.get("example");
return new Response(value);
};Если вы используете nodejs_compat, убедитесь, что у вас установлен @types/node и обновили tsconfig.json.
{
"compilerOptions": {
"target": "esnext",
"module": "esnext",
"lib": ["esnext"],
"types": ["./types.d.ts", "node"]
}
}