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
npx wrangler publish
hono
D1 数据库
- Cloudflare D1 无服务器 SQL 数据库,以便从 Worker 和 Pages 项目中进行查询
- 类 sqlite 数据库
创建
$ wrangler login
$ 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>"
$ 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
扩展