Maison >interface Web >js tutoriel >Apprendre Deno: un JavaScript sécurisé et l'exécution de TypeScript
Deno 1.0, publié en mai 2020, a suscité un intérêt important. Cet article fournit un aperçu complet de Deno, de ses principales caractéristiques et des raisons de sa popularité croissante.
Caractéristiques et avantages clés:
Deno, un environnement d'exécution JavaScript et TypeScript créé par Ryan Dahl (également le créateur de Node.js), vise à rectifier les défauts de conception Node.js perçus. Ses forces principales incluent la sécurité par défaut, la prise en charge de type natif et la compatibilité améliorée du navigateur. Deno himinalise la sécurité en exécutant du code dans un bac à sable sécurisé, demandant des autorisations explicites pour l'accès au réseau ou au système de fichiers. TypeScript est un citoyen de première classe, éliminant le besoin d'étapes de compilation distinctes. Contrairement au NPM ou au compositeur de Node.js, Deno évite un gestionnaire de packages traditionnel, important des modules directement via URL. Une bibliothèque standard complète propose divers outils pour créer des applications de ligne de commande et HTTP.
Qu'est-ce que Deno?
Deno sert d'exécution pour l'exécution du code JavaScript et TypeScript directement à partir de la ligne de commande. Contrairement à JavaScript basé sur le navigateur, les programmes DENO peuvent interagir avec les ressources informatiques de l'hôte comme le système de fichiers et les variables d'environnement. Sa création provenait du désir de Dahl d'améliorer la conception de Node.js, en se concentrant sur la sécurité, l'intégration de typeScript et la compatibilité du navigateur.
Sécurité:
La sécurité de Deno est primordiale. Son modèle d'exécution en bac à sable nécessite des subventions d'autorisation explicites pour accéder aux ressources réseau ou au système de fichiers. Les drapeaux de ligne de commande contrôlent ces autorisations: -A
(permettez à tous - désactive la sécurité), --allow-env
(variables d'environnement), --allow-hrtime
(temps haute résolution), --allow-net
(accès au réseau, domaines de liste blanche éventuellement), --allow-plugin
(Plugins - instable), --allow-read
(Système de fichiers L'accès en lecture, avec répertoire en option / Fichier Whitelistting), --allow-run
(sous-processus) et --allow-write
(File System Write Access, avec la liste blanche facultative).
Prise en charge de TypeScript:
Deno prend en charge de manière transparente JavaScript et TypeScript. TypeScript est traité comme une langue de première classe, permettant une exécution directe sans pré-compilation. Cela simplifie les flux de travail de développement.
Gestion de code externe:
Deno évite un gestionnaire de packages dédié. Les packages externes sont importés à l'aide d'URL:
<code class="language-typescript">import { Client } from "https://deno.land/x/mysql@2.2.0/mod.ts";</code>
L'exécution initiale récupère, compile et cache les importations pour la vitesse ultérieure. La commande deno cache --reload my_module.ts
oblige les objets à redéfinir. Bien qu'il manque un registre central, une liste de modules tiers est disponible, souvent lié aux référentiels GitHub.
Bibliothèque standard:
Deno possède une bibliothèque standard robuste (similaire à celle de Golang), offrant de nombreux modules sans dépendances externes. Ces modules sont accessibles via des URL versés:
<code class="language-typescript">import { Client } from "https://deno.land/x/mysql@2.2.0/mod.ts";</code>
Cela garantit la compatibilité du code entre les versions de la bibliothèque. Les modules incluent des outils pour les archives, les opérations asynchrones, la gestion des données binaires, la manipulation de date / heure, le codage / le décodage, l'analyse d'argument de ligne de commande, la sortie formatée, l'interaction du système de fichiers, le hachage, les opérations HTTP, l'entrée / sortie, la journalisation, les types de mime, le nœud .js Compatibilité (en cours), manipulation de chemin, vérifications d'autorisation, manipulation des signaux, tests, uuids et webockets.
Installation et mises à niveau:
Deno est un seul exécutable, installable via diverses méthodes:
curl -fsSL https://deno.land/x/install/install.sh | sh
iwr https://deno.land/x/install/install.ps1 -useb | iex
brew install deno
Les mises à niveau sont effectuées en utilisant deno upgrade
ou en spécifiant une version: deno upgrade --version 1.0.1
.
Perspectives futures:
Deno est une alternative convaincante pour les scripts utilitaires précédemment écrits en bash ou python. Son adoption devrait se développer dans des zones actuellement dominées par Node.js, avec des cadres émergents pour la construction d'API REST et un écosystème en expansion continue de modules tiers. Alors que Node.js reste pertinent, Deno est une technologie qui mérite d'être surveillée.
Apprentissage plus approfondi:
Une collection complète de ressources NEO, y compris les fondamentaux (guides, comparaisons avec Node.js, outils intégrés, système de modules, interaction API, opérations de système de fichiers) et des projets (microservices, application météorologique de ligne de commande), est disponible .
Questions fréquemment posées:
denoify
Pas directement, mais des outils comme Cette explication détaillée fournit une compréhension complète de Deno et de ses capacités.
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!