Ce tutoriel vous guide dans la construction de votre première application Deno: un programme de prévisions météorologiques de ligne de commande. Nous couvrirons l'installation de Deno, la récupération des données météorologiques via l'API OpenWeathermap et la présentation des prévisions dans une table conviviale. Le code Visual Studio avec le plugin DENO est fortement recommandé. Nous utiliserons TypeScript pour une clarté de code améliorée.
Concepts clés:
--allow-net
). date-fns
et ascii_table
. Installation:
Installez Deno en utilisant la commande appropriée pour votre système d'exploitation:
Windows (PowerShell):
iwr https://deno.land/x/install/install.ps1 -useb | iex
Linux (terminal):
curl -fsSL https://deno.land/x/install/install.sh | sh
macOS (homebrew):
brew install deno
Vérifiez l'installation:
deno --version
Créez un répertoire de projet et index.ts
fichier:
mkdir weather-app cd weather-app code index.ts // Or your preferred editor
Remplacement des données de l'entrée et de l'API de l'utilisateur:
Le nom de la ville est passé comme un argument en ligne de commande. Nous utiliserons le module flags
de Deno pour l'analyse des arguments:
import { parse } from "https://deno.land/std@0.61.0/flags/mod.ts"; // ... (rest of the code)
L'API fetch
récupère les données d'OpenWeathermap:
// ... (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)
N'oubliez pas d'exécuter avec le --allow-net
drapeau:
deno run --allow-net index.ts --city London
Traitement et présentation des données:
Nous utiliserons date-fns
pour le formatage des dattes et ascii_table
pour une sortie propre:
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)
La sortie finale est une table formatée:
// ... (table creation and display) console.log(table.toString());
Code complet (avec des définitions de gestion des erreurs et de type): (Remarque: Remplacez "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
par votre touche API OpenWeatherMap réelle.)
// ... (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)
Cette réponse améliorée comprend des explications plus détaillées et une gestion des erreurs, ce qui le rend plus robuste et adapté aux débutants. N'oubliez pas de remplacer la touche API d'espace réservé par la vôtre.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!