Reunalaskenta Cloudflare Workersilla ja Denolla · Oppitunti

Worker-Deno-projektin määritys

Määritä projekti, jossa paikalliseen kehitykseen käytetään Denoa ja julkaisuun Cloudflare Workersia

Oppitunti 2/411 vaihetta

Worker-Deno-projektin määritys on ilmainen Reunalaskenta Cloudflare Workersilla ja Denolla-oppitunti CoddyKitissä. Tämä on oppitunti 2/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 ja Workers: molempien parhaat puolet

Tervetuloa! Tässä oppitunnissa opitte määrittämään projektin, jossa käytetään Denoa paikalliseen kehitykseen ja Cloudflare Workersia reunaverkkoon julkaisemiseen.

Tämän tehokkaan yhdistelmän avulla voitte hyödyntää molempien alustojen parhaita ominaisuuksia.

Miksi Deno ja Workers kannattaa yhdistää?

Deno tarjoaa erinomaisen paikallisen kehittäjäkokemuksen sisäänrakennettujen muotoilu-, linttaus- ja testaustyökalujensa ansiosta. Cloudflare Workers puolestaan tarjoaa palvelimettoman alustan, jolle koodinne voidaan julkaista maailmanlaajuisesti lähelle käyttäjiänne.

Yhdistetyn kokoonpanon avulla voitte:

  • kehittää ja testata paikallisesti Denon monipuolisten työkalujen avulla.
  • julkaista sovelluksenne Cloudflaren matalan viiveen reunaverkkoon.
  • käyttää sovelluksen ydellogiikkaa uudelleen molemmissa ympäristöissä.

Hybridiprojektin järjestäminen

Tyypillisessä Deno- ja Workers-projektirakenteessa aloituspisteet pidetään erillään, mutta ydellogiikka jaetaan. Tässä on yleinen rakenne:

  • src/: Sisältää jaettavan, Denon kanssa yhteensopivan logiikan.
  • worker-entry.ts: Cloudflare Workerin pääaloituspiste.
  • deno-local.ts: Skripti sovelluksen suorittamiseen paikallisesti Denolla.
  • wrangler.toml: Cloudflare Workerin asetustiedosto.

Näin kokonaisuus pysyy siistinä ja hallittavana.

Cloudflare Workerin määrittäminen

Oletamme, että Wrangler CLI on asennettu ja määritetty aiempien oppituntien mukaisesti. Tämä työkalu on välttämätön Cloudflare Workersin kehittämiseen ja julkaisemiseen.

wrangler.toml-tiedostossa määritetään, miten Worker rakennetaan ja julkaistaan. Deno-projekteissa se viittaa usein bundlattuun JavaScript-tiedostoon.

Deno-projektin perusasetukset

Paikallista Deno-kehitystä varten luotte vain .ts- tai .js-tiedostot. Deno ei tarvitse Node.js:n tapaan package.json-tiedostoa tai node_modules-hakemistoa.

Voitte myös käyttää deno.json-tiedostoa projektikohtaisten asetusten, kuten tehtävien, muotoilusääntöjen ja importtien, määrittämiseen.

Uudelleenkäytettävän koodin kirjoittaminen

Onnistuneen hybridiprojektin perusta on ydellogiikka, joka toimii sekä Deno- että Worker-ympäristöissä.

  • Käyttäkää tavallisia Web API -rajapintoja, kuten Request, Response ja URL.
  • Välttäkää Node.js-kohtaisia API-rajapintoja.
  • Sijoittakaa jaettu logiikka yhteiseen hakemistoon, kuten src/-hakemistoon.

Näin koodinne toimii saumattomasti molemmissa ympäristöissä.

Esimerkki paikallisesta Deno-palvelimesta

Näin voitte määrittää perusmuotoisen Deno-palvelimen ja suorittaa jaetun logiikan paikallisesti. Tämä mahdollistaa nopean testaamisen ja kehittämisen ilman julkaisemista reunaverkkoon.

import { serve } from "https://deno.land/std/http/server.ts";

// This function would typically be imported from a shared 'src/' file.
function handleLocalRequest(request: Request): Response {
  const url = new URL(request.url);
  if (url.pathname === "/local-greet") {
    return new Response("Hello from Deno local server!", { status: 200 });
  }
  return new Response("Not Found", { status: 404 });
}

console.log("Deno server running on http://localhost:8000/");
serve(handleLocalRequest, { port: 8000 });

Cloudflare Workerin aloituspiste

Cloudflare Workerin aloituspiste, esimerkiksi worker-entry.ts, importtaa saman jaetun logiikan ja käyttää sitä. Tämän jälkeen Wrangler bundlaa Deno-yhteensopivan koodin yhdeksi JavaScript-tiedostoksi julkaisua varten.

export default {
  async fetch(request: Request): Promise<Response> {
    const url = new URL(request.url);
    // Imagine importing and using a shared function here
    // import { handleRequest } from './src/handler.ts';
    // return handleRequest(request);

    // For this example, we'll use a simplified inline logic
    if (url.pathname === "/edge-greet") {
      return new Response("Hello from Cloudflare Worker!", { status: 200 });
    }
    return new Response("Not Found", { status: 404 });
  },
};

Denon bundlaaminen Workereita varten

Cloudflare Workers suorittaa tavallista JavaScriptiä. Koska Deno käyttää usein TypeScriptiä ja URL-pohjaista moduulijärjestelmää, Deno-koodi täytyy transpiloida (muuntaa JavaScriptiksi) ja bundlata yhdeksi tiedostoksi.

Wrangler käsittelee tämän prosessin automaattisesti, jos se on määritetty oikein, ja käyttää usein sisäisesti esbuildin kaltaisia työkaluja. Näin Deno-logiikka toimii tehokkaasti reunaverkossa.

Projektin asetusten tarkistus

Kun projekti määritetään käyttämään Denoa paikalliseen kehitykseen ja Cloudflare Workersia julkaisemiseen, mikä on tämän hybridilähestymistavan keskeinen hyöty?

Projektin asetusten kertaus

Tässä oppitunnissa tarkastelimme, miten rakennetaan projekti, jossa käytetään Denoa paikalliseen kehitykseen ja Cloudflare Workersia edge-julkaisuun. Käsittelimme tämän lähestymistavan hyötyjä ja jaetun koodin organisointia sekä tutustuimme esimerkkeihin Denon paikallisen palvelimen ja Workerin aloituspisteistä.

Seuraavaksi perehdymme jaettujen apufunktioiden ja liiketoimintalogiikan toteuttamiseen niin, että niitä voidaan käyttää uudelleen molemmissa ympäristöissä.

Aloita maksutta

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 ”Worker-Deno-projektin määritys” ilmainen?

Kyllä – oppitunnin ”Worker-Deno-projektin määritys” 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 ”Worker-Deno-projektin määritys”?

Määritä projekti, jossa paikalliseen kehitykseen käytetään Denoa ja julkaisuun Cloudflare Workersia 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 2/4.

Kuinka kauan ”Worker-Deno-projektin määritys”-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

  1. Deno Cloudflare Workersissä
  2. Worker-Deno-projektin määritys
  3. Jaettu logiikka ja apuohjelmat
  4. Yhdistetyn pinon käyttöönotto ja vianmääritys
← Takaisin: Reunalaskenta Cloudflare Workersilla ja Denolla