[ PROMPT_NODE_24504 ]
Wrangler API 参考
[ SKILL_DOCUMENTATION ]
# Wrangler 程序化 API
用于测试和开发的 Node.js API。
## startWorker (测试)
启动带有真实本地绑定的 Worker 以进行集成测试。稳定版 API(取代 `unstable_startWorker`)。
typescript
import { startWorker } from "wrangler";
import { describe, it, before, after } from "node:test";
import assert from "node:assert";
describe("worker", () => {
let worker;
before(async () => {
worker = await startWorker({
config: "wrangler.jsonc",
environment: "development"
});
});
after(async () => {
await worker.dispose();
});
it("responds with 200", async () => {
const response = await worker.fetch("http://example.com");
assert.strictEqual(response.status, 200);
});
});
### 选项
| 选项 | 类型 | 描述 |
|--------|------|-------------|
| `config` | `string` | wrangler.jsonc 的路径 |
| `environment` | `string` | 配置中的环境名称 |
| `persist` | `boolean | { path: string }` | 启用持久化状态 |
| `bundle` | `boolean` | 启用打包(默认:true) |
| `remote` | `false | true | "minimal"` | 远程模式:`false` (本地), `true` (完全远程), `"minimal"` (仅远程绑定) |
### 远程模式
typescript
// 本地模式(默认) - 快速,模拟环境
const worker = await startWorker({ config: "wrangler.jsonc" });
// 完全远程模式 - 类似生产环境,较慢
const worker = await startWorker({
config: "wrangler.jsonc",
remote: true
});
// 最小远程模式 - 远程绑定,本地 Worker
const worker = await startWorker({
config: "wrangler.jsonc",
remote: "minimal"
});
## getPlatformProxy
在 Node.js 中模拟绑定,无需启动 Worker。
typescript
import { getPlatformProxy } from "wrangler";
const { env, dispose, caches } = await getPlatformProxy({
configPath: "wrangler.jsonc",
environment: "production",
persist: { path: ".wrangler/state" }
});
// 使用绑定
const value = await env.MY_KV.get("key");
await env.DB.prepare("SELECT * FROM users").all();
await env.ASSETS.put("file.txt", "content");
// 平台 API
await caches.default.put("https://example.com", new Response("cached"));
await dispose();
适用于单元测试(测试函数,而非完整 Worker)或需要绑定的脚本。
## 类型生成
从配置生成类型:`wrangler types` → 创建 `worker-configuration.d.ts`
## 事件系统
监听 Worker 生命周期事件以实现高级工作流。
typescript
import { startWorker } from "wrangler";