Miniflare 使用教程
项目介绍
Miniflare 是一个完全本地的模拟器,用于开发和测试 Cloudflare Workers。它模拟了 Workers 运行时和 Cloudflare 开发者平台的其他部分,使用 Node.js 实现。Miniflare 2 目前仅接收关键安全更新,建议迁移到 Miniflare 3。Miniflare 3 可以在 workers-sdk 仓库 中找到,并使用开源的 Workers 运行时 workerd
。
主要特性
- 详细日志记录:支持文件监视和漂亮的错误页面,支持源映射。
- 功能齐全:支持大多数 Workers 特性,包括 KV、Durable Objects、WebSockets、模块等。
- 完全本地:无需互联网连接即可测试和开发 Workers,代码更改时快速重载。
项目快速启动
安装 Miniflare
Miniflare 可以通过 npm 安装:
npm install -g miniflare@2 # 全局安装
# 或
npm install -D miniflare@2 # 作为开发依赖安装
使用 CLI
以下是一个简单的示例,展示如何使用 Miniflare 运行一个 Worker:
// worker.js
addEventListener('fetch', event => {
event.respondWith(new Response('Hello Miniflare!'));
});
使用 Miniflare 运行这个 Worker:
miniflare worker.js --watch --debug
应用案例和最佳实践
应用案例
Miniflare 可以用于本地开发和测试 Cloudflare Workers,特别是在以下场景中:
- 本地开发:无需部署到 Cloudflare 即可测试 Workers。
- 持续集成:在 CI 环境中运行测试,确保代码质量。
最佳实践
- 使用源映射:确保错误信息指向正确的代码位置。
- 使用持久化存储:在本地模拟 KV、R2 等存储,确保测试环境与生产环境一致。
典型生态项目
Workers Sites
Workers Sites 允许你将静态网站部署到 Cloudflare Workers,Miniflare 支持本地开发和测试这些站点。
Durable Objects
Durable Objects 提供了一个一致的状态存储,Miniflare 支持在本地模拟这些对象,以便进行开发和测试。
WebSockets
Miniflare 支持 WebSockets,可以在本地开发和测试实时应用。
通过以上内容,你可以快速上手并深入了解 Miniflare 的使用和生态。