0Pricing
Edge Computing with Cloudflare Workers & Deno · درس

دمج أطر الواجهة الأمامية

ادمج Workers مع أطر الواجهة الأمامية الشائعة مثل React وVue وSvelte لإنشاء تطبيقات ديناميكية متكاملة

دمج أطر الواجهة الأمامية درس مجاني في Edge Computing with Cloudflare Workers & Deno على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Edge Computing with Cloudflare Workers & Deno، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Edge Computing with Cloudflare Workers & Deno 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Full-Stack Edge with Frontend Apps

Welcome to integrating frontend frameworks with Cloudflare Workers! This lesson explores how popular frameworks like React, Vue, or Svelte can work seamlessly with Workers to create dynamic, full-stack applications at the edge.

By combining them, you get the best of both worlds: a rich user interface and a super-fast, globally distributed backend.

How Frontends Talk to Workers

At its core, a frontend framework (running in the user's browser) communicates with a Cloudflare Worker using standard HTTP requests. The Worker acts as a lightweight API backend.

  • The frontend sends requests (GET, POST, etc.) to the Worker's URL.
  • The Worker processes the request and returns a response, often JSON data.
  • The frontend then updates the UI based on this data.

Worker: A Simple JSON API

Let's see a basic Worker that acts as a simple API, returning a JSON message. Your frontend application can easily fetch data from this endpoint.

Try running this example to see the Worker's response.

export default {
  async fetch(request, env, ctx) {
    const data = {
      message: "Hello from the Edge!",
      timestamp: new Date().toISOString()
    };

    return new Response(JSON.stringify(data), {
      headers: { 'Content-Type': 'application/json' }
    });
  }
}

Frontend: Making a GET Request

From your frontend app (e.g., a React component), you'd use the browser's fetch API or a library like Axios to call your Worker. Here's how it generally looks (conceptual code, not runnable on its own):

fetch('/api/hello') .then(response => response.json()) .then(data => console.log(data));

The frontend sends a GET request to the Worker, which then sends back the JSON data.

Worker: Handling POST Requests

Frontends often send data to the backend using POST requests, for example, when submitting a form or creating a new item. The Worker can read the request body to get this data.

Run this Worker and imagine your frontend sending a POST request with {"name": "Coddy"} in the body.

export default {
  async fetch(request, env, ctx) {
    if (request.method === 'POST') {
      try {
        const body = await request.json();
        const name = body.name || 'Guest';
        return new Response(JSON.stringify({ greeting: `Hello, ${name}!` }), {
          headers: { 'Content-Type': 'application/json' }
        });
      } catch (error) {
        return new Response('Invalid JSON body', { status: 400 });
      }
    }
    return new Response('Please send a POST request.', { status: 405 });
  }
}

Understanding CORS for Edge APIs

CORS (Cross-Origin Resource Sharing) is a security feature that browsers use. If your frontend (e.g., myapp.com) tries to fetch data from a Worker on a different origin (e.g., myworker.workers.dev), the browser will block it unless the Worker explicitly allows it.

You need to add specific HTTP headers to your Worker's responses to enable CORS.

Implementing Basic CORS in a Worker

To allow your frontend to communicate with your Worker, include CORS headers in your Worker's responses. The Access-Control-Allow-Origin header is crucial.

This example shows how to add basic CORS headers, allowing requests from any origin (*). For production, specify your frontend's exact domain.

export default {
  async fetch(request, env, ctx) {
    const headers = {
      'Content-Type': 'application/json',
      'Access-Control-Allow-Origin': '*', // Allow requests from any origin
      'Access-Control-Allow-Methods': 'GET, POST, OPTIONS',
      'Access-Control-Allow-Headers': 'Content-Type'
    };

    if (request.method === 'OPTIONS') {
      // Handle preflight requests for CORS
      return new Response(null, { headers });
    }

    const data = { message: 'CORS enabled response!' };
    return new Response(JSON.stringify(data), { headers });
  }
}

Environment Variables & Secrets

Your Workers might need access to API keys or other sensitive configuration. Use environment variables (often called 'bindings' in Workers) to securely provide these.

Never embed secrets directly in your code or expose them to the frontend. Workers can access these securely at runtime, acting as a proxy for sensitive operations.

  • Define variables in wrangler.toml.
  • Access them via the env object in your Worker.

Best Practices for Integration

To build robust full-stack edge applications, consider these best practices:

  • API Versioning: Use paths like /api/v1/users for easier updates.
  • Clear Endpoint Naming: Make your Worker routes intuitive (e.g., /products, /orders).
  • Error Handling: Return meaningful HTTP status codes (400, 401, 404, 500) and JSON error messages from your Worker.
  • Authentication: Workers can handle authentication tokens (JWTs) and manage user sessions for your frontend.

Quick Check: Worker Integration

When integrating a frontend framework with a Cloudflare Worker, what is the primary mechanism for the frontend to retrieve dynamic data from the Worker?

Recap: Full-Stack Edge Integration

In this lesson, we explored how to integrate frontend frameworks with Cloudflare Workers. We learned that Workers act as powerful, globally distributed API backends that your frontend apps can communicate with via standard HTTP requests.

Key takeaways:

  • Workers serve JSON data and handle various request methods.
  • CORS headers are essential for cross-origin communication.
  • Best practices include clear API design and secure secret management.

This integration allows you to build fast, scalable full-stack applications at the edge!

الأسئلة الشائعة

هل درس «دمج أطر الواجهة الأمامية» مجاني؟

نعم — نص درس «دمج أطر الواجهة الأمامية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Edge Computing with Cloudflare Workers & Deno، انتقل إلى CoddyKit PRO. تتضمن دورة Edge Computing with Cloudflare Workers & Deno 4 دروس في المجموع.

ماذا ستتعلم في «دمج أطر الواجهة الأمامية»؟

ادمج Workers مع أطر الواجهة الأمامية الشائعة مثل React وVue وSvelte لإنشاء تطبيقات ديناميكية متكاملة تتمرن على Edge Computing with Cloudflare Workers & Deno مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Edge Computing with Cloudflare Workers & Deno؟

لا تُشترط خبرة سابقة. Edge Computing with Cloudflare Workers & Deno على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «دمج أطر الواجهة الأمامية»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Edge Computing with Cloudflare Workers & Deno هذا؟

نعم. كل درس في Edge Computing with Cloudflare Workers & Deno يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. Workers Sites وPages
  2. دمج أطر الواجهة الأمامية
  3. وكلاء قواعد البيانات باستخدام Deno
  4. العرض من جانب الخادم على الحافة
← العودة إلى Edge Computing with Cloudflare Workers & Deno