← Cloudflare Workers / workers / runtime-apis / rpc
TypeScript
Выполнение wrangler types генерирует типы времени выполнения, включая Service и DurableObjectNamespace типов, каждый из которых принимает один параметр типа для WorkerEntrypoint или DurableObject типы.
Благодаря типам высшего порядка мы автоматически генерируем клиентские типы-заглушки (например, все методы становятся асинхронными).
wrangler types также генерирует типы для env объект. Вы можете передать путь к конфигурационным файлам вызываемого Worker или Durable Object, чтобы сгенерированные типы включали параметры типов для Service и DurableObjectNamespace типы.
Например, если у клиентского Worker есть привязки к Worker в ../sum-worker/ и Durable Object в ../counter/, вам следует сгенерировать типы для клиентского Worker env выполнив:
npx wrangler types -c ./client/wrangler.jsonc -c ../sum-worker/wrangler.jsonc -c ../counter/wrangler.jsoncЭто даст worker-configuration.d.ts файл, который включает:
interface Env {
SUM_SERVICE: Service<import("../sum-worker/src/index").SumService>;
COUNTER_OBJECT: DurableObjectNamespace<
import("../counter/src/index").Counter
>;
}Теперь типы для метода RPC, например env.SUM_SERVICE.sum метод будет доступен клиентскому Worker.
export default {
async fetch(req, env, ctx): Promise<Response> {
const result = await env.SUM_SERVICE.sum(1, 2);
return new Response(result.toString());
},
} satisfies ExportedHandler<Env>;