Workers 介绍
cloudflare workers 可以用来构建无服务器应用程序,并立即部署到全球各地,以实现卓越的性能、可靠性和扩展性
介绍
-
Wrangler 通过 Workers 命令行界面 Wrangler,可以创建、测试和部署 Workers 项目
-
Bindings 允许您的 Worker 与 Cloudflare 开发者平台上的资源(包括 R2、KV、持久对象和 D1)进行交互
-
cloudflare/miniflare Fully-local simulator for Cloudflare Workers
-
awesome-cloudflare 收录 Cloudflare 工具、开源项目、指南
创建项目
- 初始化项目,参考
# npm create cloudflare\@2.5.0 -- my-project
npm create cloudflare@latest d1-tutorial
# 下面的方式将废弃
npx wrangler init my-project- 开发模式运行
npx wrangler dev- 发布
wrangler deploy --env production --minify src/index.js
# 下面的命令已废弃
npx wrangler publishhono
-
Hono Web application framework
- 快速、轻量级,基于网络标准。 支持任何 JavaScript 运行时
-
honojs/hono for request routing
D1 数据库
- Cloudflare D1 无服务器 SQL 数据库,以便从 Worker 和 Pages 项目中进行查询
- 类 sqlite 数据库
创建
$ wrangler login
$ wrangler whoami
$ wrangler d1 create prod-d1-tutorial
# 配置 wrangler.toml
$ cat wrangler.toml
[[d1_databases]]
binding = "DB" # available in your Worker on env.DB
database_name = "prod-d1-tutorial"
database_id = "<unique-ID-for-your-database>"
$ wrangler deploy- sql 示例
$ cat schema.sql
DROP TABLE IF EXISTS Customers;
CREATE TABLE IF NOT EXISTS Customers (CustomerId INTEGER PRIMARY KEY, CompanyName TEXT, ContactName TEXT);
INSERT INTO Customers (CustomerID, CompanyName, ContactName) VALUES (1, 'Alfreds Futterkiste', 'Maria Anders'), (4, 'Around the Horn', 'Thomas Hardy'), (11, 'Bs Beverages', 'Victoria Ashworth'), (13, 'Bs Beverages', 'Random Name');
# 本地
$ wrangler d1 execute prod-d1-tutorial --local --command="SELECT * FROM Customers"
# 线上
$ wrangler d1 execute prod-d1-tutorial --remote --command="SELECT * FROM Customers"
# 删除数据库
$ wrangler d1 delete prod-d1-tutorial扩展
- losfair/blueboat All-in-one, multi-tenant serverless JavaScript runtime.
- openai-gemini Gemini to OpenAI API proxy
- gemini-playground Gemini API 代理
- cf-proxy-ex Cloudflare 超级代理,无服务器代理,Duckduckgo 代理(可用 AI 聊天,包含 GPT4o/Calude3),Github 加速,支持解锁 Libgen,在线代理