Cloudflare Workers adapter for Hattip
npm install @hattip/adapter-cloudflare-workers@hattip/adapter-cloudflare-workersHattip adapter for Cloudflare Workers.
Assuming you have your Hattip handler defined in handler.js, create an entry file like the following and use @hattip/bundler-cloudflare-workers or your favorite bundler to bundle it:
``js
import cloudflareWorkersAdapter from "@hattip/adapter-cloudflare-workers";
import handler from "./handler.js";
export default {
fetch: cloudflareWorkersAdapter(handler),
};
`
If you don't need to serve static files, you can import the adapter from @hattip/adapter-cloudflare-workers/no-static instead. You will get an error if you use the default adapter but you don't set up site = { bucket = " in your wrangler.toml.
@hattip/adapter-cloudflare-workers uses the newer modules format instead of the service worker format.
`ts`
export interface CloudflareWorkersPlatformInfo {
/* Platform name /
name: "cloudflare-workers";
/**
* Bindings for secrets, environment variables, and other resources like
* KV namespaces etc.
*/
env: unknown;
/**
* Execution context
*/
context: ExecutionContext;
}
The ctx.env() function only returns bindings with a string value. Such bindings correspond to secrets and environment variables. Other bindings like KV or D1 will return undefined. You should use ctx.platform.env` to access them instead.