Delt logik og hjælpefunktioner
Implementér delte hjælpefunktioner og forretningslogik, der kan genbruges på tværs af Deno- og Worker-miljøer.
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 brugerenv-objektet, der sendes tilfetch. - 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
fetchnu 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!
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
- Deno på Cloudflare Workers
- Opsætning af Worker-Deno-projekt
- Delt logik og hjælpefunktioner
- Deployment og debugging af den integrerede stack