0Pricing
Edge Computing with Cloudflare Workers & Deno · Lekcja

Integracja z frameworkami frontendowymi

Zintegruj Workers z popularnymi frameworkami frontendowymi, takimi jak React, Vue lub Svelte, aby tworzyć dynamiczne aplikacje full-stack

Integracja z frameworkami frontendowymi to bezpłatna lekcja Edge Computing with Cloudflare Workers & Deno na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Edge Computing with Cloudflare Workers & Deno, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Edge Computing with Cloudflare Workers & Deno zawiera 4 lekcji w sumie.

Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.

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!

Często zadawane pytania

Czy lekcja „Integracja z frameworkami frontendowymi” jest bezpłatna?

Tak — pełny tekst „Integracja z frameworkami frontendowymi” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Edge Computing with Cloudflare Workers & Deno, przejdź na CoddyKit PRO. Kurs Edge Computing with Cloudflare Workers & Deno zawiera 4 lekcji w sumie.

Co nauczysz się w „Integracja z frameworkami frontendowymi”?

Zintegruj Workers z popularnymi frameworkami frontendowymi, takimi jak React, Vue lub Svelte, aby tworzyć dynamiczne aplikacje full-stack Ćwiczysz Edge Computing with Cloudflare Workers & Deno z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Edge Computing with Cloudflare Workers & Deno?

Nie wymagamy żadnego doświadczenia. Edge Computing with Cloudflare Workers & Deno w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Integracja z frameworkami frontendowymi”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Edge Computing with Cloudflare Workers & Deno?

Tak. Każda lekcja Edge Computing with Cloudflare Workers & Deno zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Workers Sites i Pages
  2. Integracja z frameworkami frontendowymi
  3. Proxy baz danych w Deno
  4. Renderowanie po stronie serwera na edge
← Powrót do Edge Computing with Cloudflare Workers & Deno