Moduulijärjestelmä ja käyttöoikeudet
Ymmärtäkää Denon URL-osoitteisiin perustuva moduulijärjestelmä ja tarkkarajainen käyttöoikeusmalli turvallista suorittamista varten.
Moduulijärjestelmä ja käyttöoikeudet 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-moduulit: rakennuspalikat
Denossa sovellukset rakennetaan moduuleista. Moduulit ovat yksittäisiä tiedostoja, jotka sisältävät toisiinsa liittyvää koodia, kuten funktioita, luokkia tai muuttujia.
Ne auttavat pitämään koodin järjestettynä ja uudelleenkäytettävänä ja estävät projektia muuttumasta yhdeksi valtavaksi ja vaikeasti hallittavaksi tiedostoksi.
URL-osoitteet moduulipolkuina
Toisin kuin Node.js, Deno ei käytä node_modules-kansiota. Sen sijaan Deno tuo moduuleja suoraan URL-osoitteiden tai tiedostopolkujen avulla.
- Paikalliset tiedostot: Käytä suhteellisia tai absoluuttisia polkuja (esim.
./my_module.ts). - Etätiedostot: Käytä täydellisiä URL-osoitteita (esim.
https://deno.land/std/fs/mod.ts).
Tämä yksinkertainen lähestymistapa tekee riippuvuuksien hallinnasta erittäin suoraviivaista!
Oman koodin tuominen
Luodaan kaksi tiedostoa: utils.ts, joka sisältää yksinkertaisen funktion, ja main.ts, joka tuo funktion ja käyttää sitä. Näin jaat logiikkaa oman projektisi sisällä.
utils.ts:
export function greet(name: string): string {
return `Hello, ${name}!`;
}Paikallisen moduuliesimerkin suorittaminen
Tuodaan nyt greet-funktio tiedostoon main.ts ja käytetään sitä. Huomaa suhteellinen polku ./utils.ts.
Kokeile suorittaa tämä esimerkki:
// main.ts
import { greet } from "./utils.ts";
console.log(greet("CoddyKit"));Moduulien noutaminen verkosta
Deno voi tuoda moduuleja suoraan verkon URL-osoitteista. Tämä on tehokasta, mutta edellyttää luottamusta lähteeseen. Deno tallentaa nämä moduulit välimuistiin ensimmäisen latauksen jälkeen.
Näin tuot apuohjelman Denon standardikirjastosta:
// main.ts
import { join } from "https://deno.land/std/path/mod.ts";
const path = join("/users", "coddy", "documents");
console.log(`Joined path: ${path}`);Deno tallentaa etämoduulit välimuistiin
Kun suoritat ensimmäisen kerran Deno-komentosarjan, joka tuo etämoduuleja, Deno lataa ne paikallisesti ja tallentaa ne välimuistiin. Tämän ansiosta seuraavat suorituskerrat ovat paljon nopeampia.
- Välimuistissa olevat moduulit tallennetaan yleiseen hakemistoon.
- Voit tyhjentää välimuistin manuaalisesti komennolla
deno cache --reloadtaideno cache --reset. - Deno varmistaa moduulien eheyden tarkistussummien avulla.
Turvallinen oletusarvoisesti: käyttöoikeudet
Deno on suunniteltu turvalliseksi. Oletusarvoisesti Deno-ohjelmalla ei ole lainkaan käyttöoikeuksia tiedostojärjestelmään, verkkoon tai ympäristömuuttujiin.
Nämä oikeudet on myönnettävä erikseen komentorivilipuilla komentosarjaa suoritettaessa. Näin haitallinen koodi ei voi aiheuttaa vahinkoa tietämättäsi.
Tiedostojen turvallinen lukeminen
Jotta Deno-ohjelmasi voi lukea tiedostoja, sille on myönnettävä --allow-read-käyttöoikeus. Voit määrittää tietyt polut tai sallia pääsyn kaikkeen käyttämällä merkintää . (nykyinen hakemisto) tai jättämällä polun määrittämättä.
data.txt:
Hello Deno permissions!`--allow-read` käytännössä
Kokeillaan lukea tiedostoa data.txt. Ilman käyttöoikeutta se epäonnistuu. Kun käytössä on --allow-read, se toimii! (esim. deno run --allow-read main.ts)
Kokeile suorittaa tämä esimerkki:
// main.ts
const filePath = "./data.txt";
try {
const content = await Deno.readTextFile(filePath);
console.log("File content:", content);
} catch (error) {
console.error("Error reading file:", error.message);
}Verkkopyyntöjen tekeminen
Jotta Deno-ohjelmasi voi tehdä verkkopyyntöjä, kuten noutaa tietoja API:sta, sille on myönnettävä --allow-net-käyttöoikeus.
Voit määrittää tietyt palvelimet (esim. --allow-net=api.example.com) tai sallia kaiken verkkoliikenteen (esim. deno run --allow-net main.ts).
// main.ts
try {
const response = await fetch("https://deno.land/std/README.md");
if (response.ok) {
const text = await response.text();
console.log("Fetched content (first 50 chars):");
console.log(text.substring(0, 50));
} else {
console.error("Failed to fetch:", response.statusText);
}
} catch (error) {
console.error("Network error:", error.message);
}Käyttöoikeushaaste!
Mikä seuraavista Deno-komennoista sallisi app.ts-nimisen skriptin sekä lukea tiedostoja nykyisestä hakemistosta ETTÄ tehdä verkkopyyntöjä mille tahansa verkkotunnukselle?
Kertaus: moduulit ja käyttöoikeudet
Hienoa! Olette oppineet Deno-moduulijärjestelmästä, joka käyttää URL-osoitteita sekä paikallisiin että etäimportteihin ja yksinkertaistaa riippuvuuksien hallintaa.
Tutustuitte myös Denon kattavaan käyttöoikeusmalliin ja opitte myöntämään skripteillenne tiettyjä käyttöoikeuksia, kuten --allow-read ja --allow-net, turvallista suorittamista varten. Tämä oletusarvoisesti turvallinen lähestymistapa on yksi Denon keskeisistä ominaisuuksista!
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 ”Moduulijärjestelmä ja käyttöoikeudet” ilmainen?
Kyllä – oppitunnin ”Moduulijärjestelmä ja käyttöoikeudet” 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 ”Moduulijärjestelmä ja käyttöoikeudet”?
Ymmärtäkää Denon URL-osoitteisiin perustuva moduulijärjestelmä ja tarkkarajainen käyttöoikeusmalli turvallista suorittamista 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 2/4.
Kuinka kauan ”Moduulijärjestelmä ja käyttöoikeudet”-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
- Denon runtimen perusteet
- Moduulijärjestelmä ja käyttöoikeudet
- Paikallisten Deno-sovellusten kehittäminen
- Deno-sovellusten testaaminen