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
- Rename
example.cloudflare.env
to cloudflare.env
and edit the values as needed. - 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!
- Install deps with
npm install
- Launch 🚀 with
npm run deploy
Try it live
Try out the following routes from the sample repo live here:
License
MIT