Edge computing med Cloudflare Workers og Deno · Lektion

Delt logik og hjælpefunktioner

Implementér delte hjælpefunktioner og forretningslogik, der kan genbruges på tværs af Deno- og Worker-miljøer.

Lektion 3 af 411 trin

Delt logik og hjælpefunktioner er en gratis Edge computing med Cloudflare Workers og Deno-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Edge computing med Cloudflare Workers og Deno, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Edge computing med Cloudflare Workers og Deno-kurset indeholder 4 lektioner i alt.

Introduktion til delt logik

Når du bygger applikationer til både Deno og Cloudflare Workers, støder du ofte på kode, der udfører lignende opgaver. Det er her, delt logik er nyttig!

Delt logik betyder, at du skriver almindelige funktioner eller moduler én gang og genbruger dem i forskellige dele af din applikation, uanset hvilket runtime-miljø den kører i.

Hvorfor dele kode?

Genbrug af kode mellem Deno- og Worker-miljøer giver flere vigtige fordele:

  • Ensartethed: Sikrer den samme adfærd og de samme beregninger overalt.
  • Vedligeholdelse: Opdateringer af logikken skal kun foretages ét sted.
  • Mindre duplikering: Undgår, at du skriver den samme kode flere gange, og sparer dermed arbejde.
  • Hurtigere udvikling: Genbrug eksisterende funktioner i stedet for at begynde fra bunden.

Hvad kan deles?

Mange typer kode egner sig perfekt til deling:

  • Hjælpefunktioner: Formatering af strenge, datohåndtering og matematiske hjælpefunktioner.
  • Datavalidering: Sikring af, at inputdata opfylder bestemte kriterier.
  • Forretningslogik: Applikationens centrale regler eller beregninger.
  • Type-definitioner: TypeScript-grænseflader eller typer til ensartede datastrukturer.

De bedste kandidater er som regel rene funktioner, der ikke er meget afhængige af miljøspecifikke globale objekter.

Denos ES-modulsystem

Deno bruger standardiserede JavaScript-ES-moduler (ECMAScript-moduler) med et URL-baseret importsysten. Det betyder, at du kan importere moduler ved hjælp af relative stier (f.eks. ./myModule.ts) eller komplette URL'er.

Denne overholdelse af webstandarder er vigtig, fordi Cloudflare Workers også primært bruger ES-moduler, hvilket gør Deno-moduler naturligt kompatible.

Udvikling af en central hjælpefunktion

Lad os oprette en enkel hjælpefunktion. Vi definerer en funktion, formatGreeting, der tager et navn og returnerer en personlig hilsen. Funktionen er ren og er ikke afhængig af Deno- eller Worker-specifikke API'er.

Forestil dig, at denne kode ligger i en fil som sharedUtils.ts.

export function formatGreeting(name: string): string {
  return `Hello, ${name}! Welcome to the Edge.`;
}

Kørsel af hjælpefunktionen i Deno

Sådan bruger du hjælpefunktionen formatGreeting i en Deno-applikation. I et rigtigt projekt ville du importere den fra ./sharedUtils.ts, men i dette kørbare eksempel inkluderer vi den direkte.

// This code would typically import from a shared file.
// For runnable demo, function is inline.

function formatGreeting(name: string): string {
  return `Hello, ${name}! Welcome from Deno.`;
}

// Use the shared utility
const userName = "Deno User";
console.log(formatGreeting(userName));

Workers og delte moduler

Cloudflare Workers kører JavaScript og TypeScript ved kanten. De understøtter ES-moduler ligesom Deno.

Det betyder, at en .ts- eller .js-fil, der indeholder delte hjælpefunktioner, ofte kan importeres direkte og bruges i din Worker-kode, så længe den ikke indeholder Deno-specifikke runtime-API'er.

Kørsel af hjælpefunktionen i en Worker

Lad os nu se vores hjælpefunktion formatGreeting brugt i en Cloudflare Worker. Workeren svarer med den formaterede hilsen og kan eventuelt bruge et navn fra URL'ens forespørgselsparametre.

// This code would typically import from a shared file.
// For runnable demo, function is inline.

function formatGreeting(name: string): string {
  return `Hello, ${name}! Welcome from the Worker.`;
}

export default {
  async fetch(request: Request): Promise<Response> {
    const url = new URL(request.url);
    const name = url.searchParams.get('name') || 'Guest';

    // Use the shared utility
    return new Response(formatGreeting(name), {
      headers: { 'content-type': 'text/plain' },
    });
  },
};

Håndtering af forskelle mellem miljøer

Selvom mange hjælpefunktioner kan deles direkte, kan noget logik være nødt til at tilpasse sig det miljø, den kører i.

  • Miljøvariabler: Deno bruger Deno.env.get(), mens Workers bruger env-objektet, der sendes til fetch.
  • Adgang til filsystemet: Tilgængelig i Deno, men ikke direkte i Workers.
  • Globale objekter: Vær opmærksom på forskelle i globale API'er, selvom fetch nu er bredt tilgængelig.

Brug abstraktionslag eller betinget logik (f.eks. if (typeof Deno !== 'undefined')) til at håndtere disse forskelle på en robust måde.

Test din forståelse

Hvilke af følgende er de primære fordele ved at implementere delt logik mellem Deno- og Cloudflare Worker-miljøer?

Opsummering og næste trin

Godt klaret! I denne lektion undersøgte vi, hvordan man opretter og administrerer delte hjælpefunktioner og forretningslogik, der kan genbruges i både Deno- og Cloudflare Worker-miljøer.

  • Vi forstod fordelene ved at dele kode, f.eks. ensartethed og vedligeholdelse.
  • Vi så, hvordan ES-moduler muliggør problemfri integration.
  • Vi demonstrerede en enkel hjælpefunktion, der kører i både Deno og en Cloudflare Worker.
  • Vi gennemgik strategier til håndtering af miljøspecifikke forskelle.

Denne tilgang er afgørende for at bygge robuste og effektive edge-applikationer!

Gratis at komme i gang

Lær Edge computing med Cloudflare Workers og Deno med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
47

Ofte stillede spørgsmål

Er lektionen “Delt logik og hjælpefunktioner” gratis?

Ja — hele teksten til “Delt logik og hjælpefunktioner” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Edge computing med Cloudflare Workers og Deno-kurset, skal du opgradere til CoddyKit PRO. Edge computing med Cloudflare Workers og Deno-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Delt logik og hjælpefunktioner”?

Implementér delte hjælpefunktioner og forretningslogik, der kan genbruges på tværs af Deno- og Worker-miljøer. Du øver dig i Edge computing med Cloudflare Workers og Deno med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Edge computing med Cloudflare Workers og Deno?

Der kræves ingen tidligere erfaring. Edge computing med Cloudflare Workers og Deno på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Delt logik og hjælpefunktioner”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Edge computing med Cloudflare Workers og Deno-lektion?

Ja. Alle Edge computing med Cloudflare Workers og Deno-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Deno på Cloudflare Workers
  2. Opsætning af Worker-Deno-projekt
  3. Delt logik og hjælpefunktioner
  4. Deployment og debugging af den integrerede stack
← Tilbage til Edge computing med Cloudflare Workers og Deno