Deno Cloudflare Workersissä
Tutustu siihen, miten Deno-moduulit voidaan transpiloida tai niputtaa Cloudflare Workers -julkaisua varten
Deno Cloudflare Workersissä on ilmainen Reunalaskenta Cloudflare Workersilla ja Denolla-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Reunalaskenta Cloudflare Workersilla ja Denolla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Reunalaskenta Cloudflare Workersilla ja Denolla-kurssilla on yhteensä 4 oppituntia.
Deno Cloudflare Workersissa
Tervetuloa! Tässä oppitunnissa tutustutte siihen, miten Denon tehoa voidaan hyödyntää Cloudflare Workersissa. Integraation ansiosta voitte käyttää Denon nykyaikaisia ajoympäristön ominaisuuksia ja samalla hyödyntää Workersin maailmanlaajuista reunaverkkoa.
Opitte valmistelemaan Deno-koodinne niin, että se toimii saumattomasti Cloudflaren palvelimettomalla alustalla.
Reuna-ajoympäristöjen erot
Cloudflare Workers toimii V8 JavaScript -moottoriympäristössä. Myös Deno käyttää V8:aa, mutta se lisää omat API:nsa, kuten Deno.readTextFile ja Deno.serve, sekä turvallisen käyttöoikeusmallin.
Nämä Deno-kohtaiset API:t eivät ole suoraan käytettävissä tavallisessa Worker-ajoympäristössä. Miten Deno-koodista siis tehdään yhteensopivaa?
Ratkaisu 1: transpilointi
Ensimmäinen tärkeä vaihe on transpilointi. Se tarkoittaa lähdekoodin muuntamista kielestä tai versiosta toiseen siten, että sen toiminnallisuus säilyy.
- TypeScript JavaScriptiksi: Deno käyttää usein TypeScriptiä. Workers tarvitsee tavallista JavaScriptiä. Transpilointi muuntaa
.ts-tiedostot.js-tiedostoiksi. - Uudempi JS vanhemmaksi JS:ksi: Joskus uudemmat JavaScript-ominaisuudet voidaan transpiloida vanhempaan muotoon paremman yhteensopivuuden saavuttamiseksi.
TypeScriptin transpilointi
Kuvitellaan, että teillä on TypeScriptillä kirjoitettu Deno-apufunktio:
// my_util.ts
export function calculateSum(a: number, b: number): number {
return a + b;
}Transpiloinnin aikana siitä tulee tavallista JavaScriptiä, josta tyyppimerkinnät on poistettu:
// my_util.js (after transpilation)
export function calculateSum(a, b) {
return a + b;
}Worker-ajoympäristö ymmärtää nyt tämän JavaScript-koodin.
Ratkaisu 2: bundlaus
Toinen tärkeä vaihe on bundlaus. Siinä useat JavaScript-moduulit ja niiden riippuvuudet yhdistetään yhdeksi optimoiduksi JavaScript-tiedostoksi.
- Yksi tiedosto: Workers julkaistaan usein yhtenä JavaScript-tiedostona.
- Suorituskyky: Bundlaus vähentää ajonaikaisen ympäristön ladattavien tiedostojen määrää ja nopeuttaa käynnistymistä.
- Riippuvuuksien hallinta: Se selvittää importatuista moduuleista kaiken tarvittavan koodin ja sisällyttää sen mukaan.
Denon apufunktio
Tässä on yksinkertainen Deno-funktio. Oikeassa projektissa se voisi olla omassa moduulissaan, esimerkiksi tiedostossa utils.ts, ja se voitaisiin importata. Katsotaan nyt, miten se suoritetaan suoraan:
function getGreeting(name: string): string {
return `Hello, ${name}! Welcome to the Edge!`;
}
console.log(getGreeting("CoddyKit Learner"));Bundlausprosessi
Kuvitellaan, että edellisen näkymän getGreeting-funktio on esimerkiksi tiedostossa src/utils.ts ja että sitä importtaava Worker-päälogiikka on tiedostossa src/worker.ts.
// src/worker.ts
import { getGreeting } from './utils.ts';
// ... Worker logic ...Bundleri käyttää tiedostoa src/worker.ts aloituspisteenä, selvittää importin, transpiloi mahdollisen TypeScriptin ja yhdistää kaiken yhdeksi JavaScript-tiedostoksi.
Denolla tuotettu Worker-tulos
Bundlauksen jälkeen Deno-koodinne on transpiloitu JavaScriptiksi ja yhdistetty yhdeksi tiedostoksi, joka näyttää tavalliselta Cloudflare Workerilta. Juuri tämä tiedosto julkaistaan.
Tässä on yksinkertaistettu esimerkki siitä, miltä tulos voisi näyttää, mukaan lukien tervehdyslogiikkamme:
// worker.js (bundled output)
function getGreeting(name) {
return `Hello, ${name}! Welcome to the Edge!`;
}
export default {
async fetch(request) {
const url = new URL(request.url);
const name = url.searchParams.get("name") || "Guest";
const message = getGreeting(name);
return new Response(message, {
headers: { "content-type": "text/plain" },
});
},
};Julkaiseminen Wranglerilla
Kun Deno-koodinne on transpiloitu ja bundlattu yhdeksi JavaScript-tiedostoksi, esimerkiksi worker.js-tiedostoksi, voitte julkaista sen Cloudflaren Wrangler CLI:llä aivan kuten minkä tahansa muun Workerin.
- Wrangler huolehtii tämän bundlatun tiedoston lataamisesta Cloudflareen.
- Cloudflaren reunaverkko suorittaa JavaScript-koodinne ja samalla Deno-pohjaisen logiikkanne.
Kehittäjäkokemus perustuu Deno-keskeiseen työskentelyyn, mutta julkaisuympäristö on tavallinen Worker.
Pikatarkistus
Kun Deno-koodia julkaistaan Cloudflare Workersissa, mitkä kaksi prosessia ovat välttämättömiä, jotta Deno-moduulit ovat yhteensopivia Worker-ajoympäristön kanssa?
Kertaus: Deno reunaverkossa
Hienoa! Olette oppineet, miten Deno-moduuleja voidaan julkaista Cloudflare Workereina.
- Cloudflare Workers suorittaa JavaScriptiä, joten Deno-koodi täytyy transpiloida, esimerkiksi TypeScript JavaScriptiksi.
- Tehokasta julkaisua varten useat Deno-moduulit yhdistetään yhdeksi tiedostoksi bundlaamalla.
esbuild-kaltaiset työkalut automatisoivat tämän ja muuntavat Deno-projektin tavalliseksi Worker-skriptiksi.
Näin voitte hyödyntää Denon ekosysteemiä kehityksessä ja samalla Cloudflare Workersin maailmanlaajuista kattavuutta.
Opi Reunalaskenta Cloudflare Workersilla ja Denolla tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 47
Usein kysytyt kysymykset
Onko oppitunti ”Deno Cloudflare Workersissä” ilmainen?
Kyllä – oppitunnin ”Deno Cloudflare Workersissä” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Reunalaskenta Cloudflare Workersilla ja Denolla-kurssin, päivitä CoddyKit PROhon. Reunalaskenta Cloudflare Workersilla ja Denolla-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Deno Cloudflare Workersissä”?
Tutustu siihen, miten Deno-moduulit voidaan transpiloida tai niputtaa Cloudflare Workers -julkaisua varten Harjoittelet Reunalaskenta Cloudflare Workersilla ja Denolla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Reunalaskenta Cloudflare Workersilla ja Denolla-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Reunalaskenta Cloudflare Workersilla ja Denolla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Deno Cloudflare Workersissä”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Reunalaskenta Cloudflare Workersilla ja Denolla-oppitunnilla?
Kyllä. Jokainen Reunalaskenta Cloudflare Workersilla ja Denolla-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Deno Cloudflare Workersissä
- Worker-Deno-projektin määritys
- Jaettu logiikka ja apuohjelmat
- Yhdistetyn pinon käyttöönotto ja vianmääritys