What Are Cloudflare Workers?
- Serverless runtime running on Cloudflare’s global edge network
- No cold starts (nearly instant execution)
- Free tier: up to 100,000 requests per day
- Uses Web standard APIs (not Node.js)
Setup and Deploy
1. Install Wrangler
npm install -g wrangler
wrangler --version
2. Log in to Cloudflare
wrangler login
3. Create a Project
npm create cloudflare@latest my-worker
cd my-worker
4. Write the Worker (src/index.js)
export default {
async fetch(request) {
const url = new URL(request.url);
if (url.pathname === '/api/hello') {
return new Response(JSON.stringify({ message: 'Hello from Worker!' }), {
headers: { 'Content-Type': 'application/json' },
});
}
return new Response('Not Found', { status: 404 });
},
};
5. Test Locally
wrangler dev
Open http://localhost:8787 to verify.
6. Deploy
wrangler deploy
Common Use Cases
Redirect Handling
export default {
async fetch(request) {
const url = new URL(request.url);
if (url.pathname === '/old-page') {
return Response.redirect('https://example.com/new-page', 301);
}
return fetch(request);
},
};
Add CORS Headers
export default {
async fetch(request) {
const response = await fetch(request);
const newHeaders = new Headers(response.headers);
newHeaders.set('Access-Control-Allow-Origin', '*');
return new Response(response.body, {
status: response.status,
headers: newHeaders,
});
},
};
Common Pitfalls
- Workers use Web standard APIs, not Node.js built-ins
- Use
wrangler devfor local testing before deploying - Use
wrangler secret put MY_KEYto store secrets securely
Related Posts
- How to Deploy an Astro Site to Cloudflare Pages
- How to Set Environment Variables in Cloudflare Pages
- How to Set Up Redirect Rules in Cloudflare
- GitHub Actions: Basic Auto-Deploy Setup
Recommended Services
- Fiverr - Find freelance developers and tech experts