Edge computing met Cloudflare Workers en Deno · Les

Gedeelde logica en hulpprogramma's

Implementeer gedeelde hulpprogrammafuncties en bedrijfslogica die opnieuw kunnen worden gebruikt in Deno- en Worker-omgevingen.

Les 3 van 411 stappen

Gedeelde logica en hulpprogramma's is een gratis Edge computing met Cloudflare Workers en Deno-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Edge computing met Cloudflare Workers en Deno. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Edge computing met Cloudflare Workers en Deno bevat in totaal 4 lessen.

Inleiding tot gedeelde logica

Wanneer je toepassingen bouwt voor zowel Deno als Cloudflare Workers, kom je vaak code tegen die vergelijkbare taken uitvoert. Daar komt gedeelde logica goed van pas!

Gedeelde logica betekent dat je algemene functies of modules één keer schrijft en ze hergebruikt in verschillende onderdelen van je toepassing, ongeacht de runtimeomgeving.

Waarom code delen?

Het hergebruiken van code tussen Deno- en Worker-omgevingen biedt verschillende belangrijke voordelen:

  • Consistentie: zorgt overal voor hetzelfde gedrag en dezelfde berekeningen.
  • Onderhoudbaarheid: updates aan de logica hoef je maar op één plek door te voeren.
  • Minder duplicatie: voorkomt dat je dezelfde code meerdere keren schrijft en bespaart zo moeite.
  • Snellere ontwikkeling: benut bestaande functies in plaats van helemaal opnieuw te beginnen.

Wat kan worden gedeeld?

Veel soorten code komen uitstekend in aanmerking om te worden gedeeld:

  • Hulpfuncties: tekenreeksen opmaken, datums bewerken en wiskundige hulpmiddelen.
  • Gegevensvalidatie: controleren of invoergegevens aan specifieke criteria voldoen.
  • Bedrijfslogica: de kernregels of berekeningen van de toepassing.
  • Typedefinities: TypeScript-interfaces of -typen voor consistente gegevensstructuren.

De beste kandidaten zijn meestal pure functies die niet sterk afhankelijk zijn van omgevingsspecifieke globale objecten.

Deno's ES-modulesysteem

Deno omarmt standaard-JavaScript-ES-modules (ECMAScript-modules) met een op URL's gebaseerd importsysteem. Dat betekent dat je modules kunt importeren met relatieve paden (bijvoorbeeld ./myModule.ts) of volledige URL's.

Deze naleving van webstandaarden is belangrijk, omdat Cloudflare Workers ook voornamelijk ES-modules gebruiken. Daardoor zijn Deno-modules van nature compatibel.

Een kernhulpfunctie ontwikkelen

Laten we een eenvoudige hulpfunctie maken. We definiëren een functie formatGreeting die een naam als invoer neemt en een persoonlijke begroeting teruggeeft. Deze functie is puur en is niet afhankelijk van specifieke API's van Deno of Workers.

Stel dat deze code in een bestand zoals sharedUtils.ts staat.

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

De hulpfunctie uitvoeren in Deno

Zo gebruik je onze hulpfunctie formatGreeting binnen een Deno-toepassing. In een echt project zou je deze importeren uit ./sharedUtils.ts, maar voor dit uitvoerbare voorbeeld nemen we de functie rechtstreeks op.

// 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 en gedeelde modules

Cloudflare Workers voeren JavaScript en TypeScript uit aan de edge. Ze ondersteunen ES-modules, net als Deno.

Dat betekent dat een .ts- of .js-bestand met gedeelde hulpfuncties vaak rechtstreeks kan worden geïmporteerd en gebruikt in je Worker-code, zolang het geen runtime-API's bevat die specifiek zijn voor Deno.

De hulpfunctie uitvoeren in een Worker

Laten we nu zien hoe onze hulpfunctie formatGreeting in een Cloudflare Worker wordt gebruikt. De Worker antwoordt met de opgemaakte begroeting en kan daarbij een naam uit de queryparameters van de URL gebruiken.

// 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' },
    });
  },
};

Omgevingsverschillen afhandelen

Hoewel je veel hulpfuncties rechtstreeks kunt delen, moet sommige logica mogelijk worden aangepast aan de omgeving.

  • Omgevingsvariabelen: Deno gebruikt Deno.env.get(), terwijl Workers het object env gebruiken dat aan fetch wordt doorgegeven.
  • Toegang tot het bestandssysteem: beschikbaar in Deno, maar niet rechtstreeks in Workers.
  • Globale objecten: let op verschillen in globale API's (hoewel fetch nu breed beschikbaar is).

Gebruik abstractielagen of voorwaardelijke logica (bijvoorbeeld if (typeof Deno !== 'undefined')) om deze verschillen op een nette manier te beheren.

Controleer je begrip

Welke van de volgende opties zijn de belangrijkste voordelen van het implementeren van gedeelde logica tussen Deno- en Cloudflare-Worker-omgevingen?

Samenvatting en volgende stappen

Goed gedaan! In deze les hebben we onderzocht hoe je gedeelde hulpfuncties en bedrijfslogica maakt en beheert die in zowel Deno- als Cloudflare-Worker-omgevingen kan worden hergebruikt.

  • We hebben de voordelen van code delen begrepen, zoals consistentie en onderhoudbaarheid.
  • We hebben gezien hoe ES-modules naadloze integratie mogelijk maken.
  • We hebben een eenvoudige hulpfunctie uitgevoerd in zowel Deno als een Cloudflare Worker.
  • We hebben strategieën besproken om omgevingsspecifieke verschillen af te handelen.

Deze aanpak is essentieel voor het bouwen van robuuste en efficiënte edge-toepassingen!

Gratis beginnen

Leer Edge computing met Cloudflare Workers en Deno met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
47

Veelgestelde vragen

Is de les “Gedeelde logica en hulpprogramma's” gratis?

Ja — de volledige tekst van “Gedeelde logica en hulpprogramma's” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Edge computing met Cloudflare Workers en Deno wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Edge computing met Cloudflare Workers en Deno bevat in totaal 4 lessen.

Wat leer ik in “Gedeelde logica en hulpprogramma's”?

Implementeer gedeelde hulpprogrammafuncties en bedrijfslogica die opnieuw kunnen worden gebruikt in Deno- en Worker-omgevingen. Je oefent met Edge computing met Cloudflare Workers en Deno door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Edge computing met Cloudflare Workers en Deno te beginnen?

Ervaring vooraf is niet nodig. Edge computing met Cloudflare Workers en Deno op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “Gedeelde logica en hulpprogramma's”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Edge computing met Cloudflare Workers en Deno?

Ja. Elke les over Edge computing met Cloudflare Workers en Deno bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Deno op Cloudflare Workers
  2. Worker-Deno-project instellen
  3. Gedeelde logica en hulpprogramma's
  4. De geïntegreerde stack deployen en debuggen
← Terug naar Edge computing met Cloudflare Workers en Deno