ローカルDenoアプリの開発
ファイルI/Oとネットワークリクエストに焦点を当て、シンプルなDenoアプリケーションをローカルで構築・実行します。
「ローカルDenoアプリの開発」はCoddyKit上の無料Edge Computing with Cloudflare Workers & Denoレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これは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時間対応のAIチューター)、Edge Computing with Cloudflare Workers & Denoコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Edge Computing with Cloudflare Workers & Denoコースには全4レッスンが含まれています。
「ローカルDenoアプリの開発」で何を学びますか?
ファイルI/Oとネットワークリクエストに焦点を当て、シンプルなDenoアプリケーションをローカルで構築・実行します。 ブラウザで直接実行するハンズオンコードでEdge Computing with Cloudflare Workers & Denoを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Edge Computing with Cloudflare Workers & Denoを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのEdge Computing with Cloudflare Workers & Denoは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「ローカルDenoアプリの開発」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このEdge Computing with Cloudflare Workers & Denoレッスンでコードを書いて実行できますか?
はい。すべてのEdge Computing with Cloudflare Workers & Denoレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Denoランタイムの基本
- モジュールシステムと権限
- ローカルDenoアプリの開発
- Denoアプリケーションのテスト