Home

Awesome

A simple Cloudflare Worker with built-in routing

Here's a simple CloudFlare Worker with a built-in router that allows you to separate your worker logic into different functions and/or "controllers" so you can achieve a clean separation of concerns while working within the 1 script limit for non-Enterprise plans.

Sample route definitions:

router.get('/cloudflare', SampleController.index);
router.post('/cloudflare', SampleController.store);
router.get('/cloudflare/:id', SampleController.show);
router.put('/cloudflare/:id', SampleController.update);
router.delete('/cloudflare/:id', SampleController.destroy);
router.get('/cloudflare/routes/:id', (req) => {
    return response('Response from closure instead of controller: id=' + req.params.id);
});

Credits to Dave Willenberg and his Password pwnage CloudFlare Worker for the auto-deploy script and webpack config.


Quick Start

  1. Rename example.cloudflare.env to cloudflare.env and edit the values as needed.
  2. Update the index.js file with your routes, use function closures or separate controller files and go to town with a simple CloudFlare Worker with built-in routing!
  3. Install deps with npm install
  4. Launch 🚀 with npm run deploy

Try it live

Try out the following routes from the sample repo live here:

License

MIT