تطوير تطبيقات Deno محليًا
ابنوا تطبيقات Deno بسيطة وشغّلوها محليًا، مع التركيز على إدخال وإخراج الملفات وطلبات الشبكة.
تطوير تطبيقات Deno محليًا درس مجاني في Edge Computing with Cloudflare Workers & Deno على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Edge Computing with Cloudflare Workers & Deno، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Edge Computing with Cloudflare Workers & Deno 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
Your First Local Deno App
Welcome! In this lesson, we'll dive into building and running Deno applications right on your local machine.
Developing locally is crucial for testing and iterating quickly before deploying to the edge.
We'll focus on two fundamental operations: reading and writing files, and making network requests.
Hello, Deno!
Let's start with a classic "Hello, World!" program. Deno executes TypeScript or JavaScript directly.
Save this code as main.ts and run it using the deno run command in your terminal.
// main.ts
console.log("Hello from local Deno!");Accessing Local Files
Deno has a secure permission model. To read files, you must explicitly grant permission using the --allow-read flag.
The Deno.readTextFile() function is an asynchronous way to read the content of a file as a string.
Deno.readTextFile(path): Reads a file.--allow-read: Grants permission to read files.
Reading a Text File
Let's create a file named hello.txt with some content, then read it using Deno.
Remember to use the --allow-read flag when running this script!
// read_file.ts
// First, create a file named hello.txt with content like "Deno is awesome!"
async function readFileContent() {
try {
const filePath = "./hello.txt";
const content = await Deno.readTextFile(filePath);
console.log("File Content:", content);
} catch (error) {
console.error("Error reading file:", error.message);
}
}
readFileContent();Saving Data to Files
Just like reading, writing files also requires explicit permission: --allow-write.
The Deno.writeTextFile() function allows you to write a string to a file. It will create the file if it doesn't exist, or overwrite it if it does.
Deno.writeTextFile(path, data): Writes data to a file.--allow-write: Grants permission to write files.
Writing to a Text File
Let's write some new content into a file. We'll create output.txt with a simple message.
Run this with deno run --allow-write write_file.ts.
// write_file.ts
async function writeFileContent() {
try {
const filePath = "./output.txt";
const content = "This is new content written by Deno!";
await Deno.writeTextFile(filePath, content);
console.log("File written successfully to", filePath);
} catch (error) {
console.error("Error writing file:", error.message);
}
}
writeFileContent();Fetching Data from the Web
Deno includes a built-in fetch API, similar to browsers, for making HTTP requests.
To allow your Deno application to access the network, you need to use the --allow-net flag.
fetch(url): Initiates a network request.--allow-net: Grants network access.
Getting Data from an API
Let's fetch some public data from a test API. We'll get a list of posts from JSONPlaceholder.
Run this with deno run --allow-net fetch_data.ts.
// fetch_data.ts
async function fetchData() {
try {
const response = await fetch("https://jsonplaceholder.typicode.com/posts/1");
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`);
}
const data = await response.json();
console.log("Fetched Data:", data);
} catch (error) {
console.error("Error fetching data:", error.message);
}
}
fetchData();Deno Permissions Check
Deno prioritizes security through explicit permissions. Which flag is needed to allow a Deno script to read a local file AND make an HTTP request?
Local Deno Apps Summary
Great job! You've learned how to build and run simple Deno applications locally.
- We covered using
deno runfor executing scripts. - You practiced reading and writing files using
Deno.readTextFile()andDeno.writeTextFile()with their respective--allow-readand--allow-writepermissions. - You also fetched data from an external API using the
fetchAPI and the--allow-netflag.
These are core skills for any Deno developer, setting you up for more complex applications, including those deployed to the edge!
الأسئلة الشائعة
هل درس «تطوير تطبيقات Deno محليًا» مجاني؟
نعم — نص درس «تطوير تطبيقات Deno محليًا» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Edge Computing with Cloudflare Workers & Deno، انتقل إلى CoddyKit PRO. تتضمن دورة Edge Computing with Cloudflare Workers & Deno 4 دروس في المجموع.
ماذا ستتعلم في «تطوير تطبيقات Deno محليًا»؟
ابنوا تطبيقات Deno بسيطة وشغّلوها محليًا، مع التركيز على إدخال وإخراج الملفات وطلبات الشبكة. تتمرن على Edge Computing with Cloudflare Workers & Deno مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Edge Computing with Cloudflare Workers & Deno؟
لا تُشترط خبرة سابقة. Edge Computing with Cloudflare Workers & Deno على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «تطوير تطبيقات Deno محليًا»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Edge Computing with Cloudflare Workers & Deno هذا؟
نعم. كل درس في Edge Computing with Cloudflare Workers & Deno يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- أساسيات بيئة تشغيل Deno
- نظام الوحدات والأذونات
- تطوير تطبيقات Deno محليًا
- اختبار تطبيقات Deno