Delt logikk og hjelpefunksjoner
Implementer delte hjelpefunksjoner og forretningslogikk som kan gjenbrukes på tvers av Deno- og Worker-miljøer.
Delt logikk og hjelpefunksjoner er en gratis leksjon i Edge computing med Cloudflare Workers og Deno på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Edge computing med Cloudflare Workers og Deno, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Edge computing med Cloudflare Workers og Deno inneholder totalt 4 leksjoner.
Introduksjon til delt logikk
Når man bygger applikasjoner for både Deno og Cloudflare Workers, støter man ofte på kode som utfører lignende oppgaver. Det er her delt logikk kommer til nytte!
Delt logikk innebærer å skrive felles funksjoner eller moduler én gang og gjenbruke dem i ulike deler av applikasjonen, uavhengig av kjøremiljø.
Hvorfor dele kode?
Gjenbruk av kode mellom Deno- og Worker-miljøer gir flere viktige fordeler:
- Konsistens: Sikrer samme oppførsel og beregninger overalt.
- Vedlikehold: Oppdateringer i logikken trenger bare å gjøres på ett sted.
- Mindre duplisering: Unngår at den samme koden må skrives flere ganger, og sparer dermed tid og arbeid.
- Raskere utvikling: Gjenbruk eksisterende funksjoner i stedet for å begynne fra bunnen av.
Hva kan deles?
Mange typer kode egner seg godt for deling:
- Hjelpefunksjoner: Strengformatering, datobehandling og matematiske hjelpefunksjoner.
- Datavalidering: Kontroll av at inndata oppfyller bestemte kriterier.
- Forretningslogikk: Sentrale regler eller beregninger i applikasjonen.
- Typedefinisjoner: TypeScript-grensesnitt eller typer for konsistente datastrukturer.
De beste kandidatene er vanligvis rene funksjoner som ikke er sterkt avhengige av globale, miljøspesifikke objekter.
Denos ES-modulsystem
Deno bruker standardiserte JavaScript-ES-moduler (ECMAScript-moduler) med et URL-basert importsystem. Det betyr at man kan importere moduler ved hjelp av relative stier (for eksempel ./myModule.ts) eller fullstendige URL-er.
Denne overholdelsen av webstandarder er viktig fordi Cloudflare Workers også hovedsakelig bruker ES-moduler, noe som gjør Deno-moduler naturlig kompatible.
Utvikle en sentral hjelpefunksjon
La oss lage en enkel hjelpefunksjon. Vi definerer en funksjon kalt formatGreeting som tar imot et navn og returnerer en personlig hilsen. Denne funksjonen er ren og er ikke avhengig av API-er som er spesifikke for Deno eller Workers.
Se for deg at denne koden ligger i en fil som sharedUtils.ts.
export function formatGreeting(name: string): string {
return `Hello, ${name}! Welcome to the Edge.`;
}Kjøre hjelpefunksjonen i Deno
Slik bruker man hjelpefunksjonen formatGreeting i en Deno-applikasjon. I et virkelig prosjekt ville man importert den fra ./sharedUtils.ts, men i dette kjørbare eksempelet 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 kjører JavaScript og TypeScript på kanten. De støtter ES-moduler, akkurat som Deno.
Det betyr at en .ts- eller .js-fil som inneholder delte hjelpefunksjoner, ofte kan importeres direkte og brukes i Worker-koden, så lenge den ikke inneholder kjøretids-API-er som er spesifikke for Deno.
Kjøre hjelpefunksjonen i en Worker
La oss nå se hvordan hjelpefunksjonen formatGreeting brukes i en Cloudflare Worker. Workeren svarer med den formaterte hilsenen, og kan for eksempel bruke et navn fra URL-ens spørringsparametere.
// 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åndtere forskjeller mellom miljøer
Selv om mange hjelpefunksjoner kan deles direkte, kan noe logikk måtte tilpasses miljøet den kjører i.
- Miljøvariabler: Deno bruker
Deno.env.get(), mens Workers brukerenv-objektet som sendes tilfetch. - Tilgang til filsystemet: Tilgjengelig i Deno, men ikke direkte i Workers.
- Globale objekter: Vær oppmerksom på forskjeller i globale API-er (selv om
fetchnå er bredt tilgjengelig).
Bruk abstraksjonslag eller betinget logikk (for eksempel if (typeof Deno !== 'undefined')) for å håndtere disse forskjellene på en god måte.
Test forståelsen
Hvilke av følgende er de viktigste fordelene ved å implementere delt logikk mellom Deno- og Cloudflare Worker-miljøer?
Oppsummering og neste steg
Godt jobbet! I denne leksjonen utforsket vi hvordan man oppretter og administrerer delte hjelpefunksjoner og forretningslogikk som kan gjenbrukes i både Deno- og Cloudflare Worker-miljøer.
- Vi forsto fordelene ved å dele kode, blant annet konsistens og vedlikehold.
- Vi så hvordan ES-moduler muliggjør sømløs integrasjon.
- Vi demonstrerte en enkel hjelpefunksjon som kjører både i Deno og i en Cloudflare Worker.
- Vi diskuterte strategier for å håndtere miljøspesifikke forskjeller.
Denne tilnærmingen er sentral for å bygge robuste og effektive edge-applikasjoner!
Lær deg Edge computing med Cloudflare Workers og Deno med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 47
Ofte stilte spørsmål
Er leksjonen «Delt logikk og hjelpefunksjoner» gratis?
Ja – hele teksten i «Delt logikk og hjelpefunksjoner» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Edge computing med Cloudflare Workers og Deno-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Edge computing med Cloudflare Workers og Deno inneholder totalt 4 leksjoner.
Hva lærer jeg i «Delt logikk og hjelpefunksjoner»?
Implementer delte hjelpefunksjoner og forretningslogikk som kan gjenbrukes på tvers av Deno- og Worker-miljøer. Du øver på Edge computing med Cloudflare Workers og Deno med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Edge computing med Cloudflare Workers og Deno?
Ingen tidligere erfaring er nødvendig. Edge computing med Cloudflare Workers og Deno på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.
Hvor lang tid tar leksjonen «Delt logikk og hjelpefunksjoner»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Edge computing med Cloudflare Workers og Deno-leksjonen?
Ja. Alle Edge computing med Cloudflare Workers og Deno-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Deno på Cloudflare Workers
- Oppsett av Worker-Deno-prosjekt
- Delt logikk og hjelpefunksjoner
- Utrulling og feilsøking av den integrerte stacken