用途:该技能用于在 TypeScript 项目中从零搭建 Inngest,覆盖 SDK 安装、客户端配置、连接模式与本地开发。前置条件为 Node.js 18+(推荐 22.4+ 以支持 WebSocket)及 TypeScript 项目,需 npm、yarn、pnpm 或 bun 包管理器。
主要能力与用法:第一步安装 SDK,命令为 npm install inngest(或 yarn add / pnpm add / bun add inngest)。第二步创建共享客户端文件,例如在 src/inngest/client.ts 中导出 new Inngest({ id: "my-app" }),id 为必填的唯一标识(连字符 slug)。可选配置包括 eventKey、env、isDev、logger、middleware、schemas;用 EventSchemas().fromRecord<Events>() 可定义类型化事件。第三步配置环境变量:生产需 INNGEST_EVENT_KEY 与 INNGEST_SIGNING_KEY,本地开发可设 INNGEST_DEV=1,可选 INNGEST_BASE_URL(默认 http://localhost:8288);切勿在代码中硬编码密钥。
连接模式:模式 A 为 serve HTTP 端点,适合 Vercel、Lambda 等无服务器平台,Next.js、Express 等各有对应导入路径(如 inngest/next、inngest/express、inngest/fastify、inngest/cloudflare、inngest/lambda),端点路径建议始终用 /api/inngest 以便自动发现;Express 需用 express.json({ limit: "10mb" })。模式 B 为 connect WebSocket worker,适合容器与长驻进程,需 SDK v3.27+、Node.js 22.4+(或 Deno 1.4+、Bun 1.1+),并用 instanceId、maxWorkerConcurrency 等参数,生产需设置 appVersion 以支持滚动部署。
本地开发:使用 npx --ignore-scripts=false inngest-cli@latest dev 启动开发服务器,可用 -u 指定应用 URL、-p 指定端口、--no-discovery 关闭自动发现,或通过 inngest.json 配置。
限制:该技能聚焦 TypeScript,Python 或 Go 需参考官方文档;常见问题包括端口冲突、自动发现失败、签名校验错误、WebSocket 连接问题及 Docker 下需用 host.docker.internal。资料未提供收费、价格或效果信息。