Heim >Web-Frontend >js-Tutorial >Erstellen Sie eine Befehlszeilenwetter -App in Deno
Dieses Tutorial führt Sie durch den Aufbau Ihrer ersten Deno-Anwendung: ein Befehlszeilen-Wettervorhersageprogramm. Wir werden die Deno-Installation abdecken, Wetterdaten über die OpenWeatherMap-API abrufen und die Prognose in einer benutzerfreundlichen Tabelle präsentieren. Der Visual Studio -Code mit dem Deno -Plugin wird dringend empfohlen. Wir werden TypeScript für erweiterte Code -Klarheit verwenden.
Schlüsselkonzepte:
--allow-net
). date-fns
und ascii_table
. Installation:
Deno mit dem entsprechenden Befehl für Ihr Betriebssystem installieren:
Windows (PowerShell):
<code class="language-powershell">iwr https://deno.land/x/install/install.ps1 -useb | iex</code>
Linux (terminal):
<code class="language-bash">curl -fsSL https://deno.land/x/install/install.sh | sh</code>
macOS (homebrew):
<code class="language-bash">brew install deno</code>
Installation überprüfen:
<code class="language-bash">deno --version</code>
Erstellen Sie ein Projektverzeichnis und index.ts
Datei:
<code class="language-bash">mkdir weather-app cd weather-app code index.ts // Or your preferred editor</code>
Abrufen von Benutzereingaben und API -Daten:
Der Stadtname wird als Befehlszeilenargument übergeben. Wir werden das flags
-Modul von Deno für das Argument analysieren:
<code class="language-typescript">import { parse } from "https://deno.land/std@0.61.0/flags/mod.ts"; // ... (rest of the code)</code>
Die fetch
api ruft Daten aus OpenWeatherMap:
<code class="language-typescript">// ... (API key and other code) const res = await fetch( `https://api.openweathermap.org/data/2.5/forecast?q=${args.city}&units=metric&appid=${apiKey}`, ); const data = await res.json(); // ... (error handling and data processing)</code>
--allow-net
Denken Sie daran, mit der
<code class="language-bash">deno run --allow-net index.ts --city London</code>
Datenverarbeitung und Präsentation:
date-fns
Wir werden ascii_table
für die Datumsformatierung und
<code class="language-typescript">import { fromUnixTime, format } from "https://deno.land/x/date_fns@v2.15.0/index.js"; import AsciiTable from "https://deno.land/x/ascii_table/mod.ts"; // ... (data processing using interfaces and functions)</code>
Die endgültige Ausgabe ist eine formatierte Tabelle:
<code class="language-typescript">// ... (table creation and display) console.log(table.toString());</code>
komplette Code (mit Fehlerbehandlungen und Typdefinitionen): "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
(Hinweis: Ersetzen
<code class="language-typescript">// ... (imports as shown above) // ... (argument parsing and error handling as shown above) const apiKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; const res = await fetch( `https://api.openweathermap.org/data/2.5/forecast?q=${args.city}&units=metric&appid=${apiKey}`, ); if (!res.ok) { console.error(`Error fetching weather data: ${res.status} ${res.statusText}`); Deno.exit(1); } const data = await res.json(); // ... (Interface definition and data processing as shown in the previous sections) // ... (table creation and display as shown in the previous sections)</code>
Das obige ist der detaillierte Inhalt vonErstellen Sie eine Befehlszeilenwetter -App in Deno. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!