h3-worker
Use h3 in a (Cloudflare) worker!
This little package uses some helpers from h3 and unenv to make h3 apps work in a Cloudflare worker environment.
Install
# Using npm
npm install h3-worker
# Using yarn
yarn add h3-worker
Usage
- Set up your Cloudflare worker project - I recommend worker-typescript-template
- Check out the h3 docs
- Write some routes and use the
handleEvent
method fromh3-worker
torespondWith
import { createApp, handleEvent } from 'h3-worker'
// Create the app
const app = createApp()
// Add some routes (no need to worry about order)
app.use('/', () => 'Hello world')
app.use('/json', () => ({ hello: 'JSON' }))
// Type the body if you like
app.use<{ firstName: string }>('/first-name', (req) => {
const { body } = req
return `Hi ${body.firstName}`
})
// Add the event listener
addEventListener('fetch', (event) => {
// Respond with a handleEvent() call, passing in the event and your app. Options are optional
event.respondWith(handleEvent(event, app, { basePath: '', sortStack: true }))
})