Versions récentes de Deno (1h30, 1.31et 1.32) facilitent la transition des développeurs Node.js vers les projets Deno. Deno 1.30 améliore la prise en charge des modules intégrés Node et des cartes d’importation. Deno 1.31 ajoute la prise en charge de package.json et inclut la couche de compatibilité Node dans le runtime Deno. Deno 1.32 ajoute deno compile
prise en charge des travailleurs Web et des importations dynamiques.
Avec Deno 1.30, les développeurs peuvent exposer des modules Node avec node:
spécificateurs.
import { readFileSync } from "node:fs";
console.log(readFileSync("deno.json", { encoding: "utf8" }));
Pour les développeurs utilisant du code avec Deno et Node.js, le node:
schéma fonctionnera dans les deux runtimes. Documentation de Deno conseille utilement:
Notez que l’importation via un spécificateur nu (ex.
import { readFileSync } from "fs";
) n’est pas pris en charge. Si vous essayez de le faire et que le spécificateur nu correspond à un module intégré Node.js introuvable dans une carte d’importation, Deno fournira un message d’erreur utile vous demandant si vous vouliez importer avec lenode:
préfixe.
Le deno.json
Le fichier peut également désormais inclure des cartes d’importation, éliminant ainsi la nécessité d’avoir deux fichiers de configuration. Pour ce faire, les développeurs spécifient imports
et scopes
clés dans deno.json
. Les cartes d’importation sont désormais prises en charge dans tous les navigateurs modernes et permettent de résoudre les spécificateurs de module en les faisant correspondre à un emplacement (sur disque ou à distance).
Avec Deno 1.31, Deno détectera automatiquement un package.json
et l’utiliser pour installer et résoudre les dépendances. deno task
exécutera également des scripts à partir du scripts
partie de la package.json
.
Par exemple, le code suivant :
$ deno run -A npm:create-vite vite-project --template vue
$ cd vite-project
$ deno task dev
exécutera un projet Vite par défaut dans dev
environnement, comme indiqué par le modèle package.json
installé par le create-vite
outil d’échafaudage.
Deno 1.31 inclut également la couche de compatibilité Node dans le runtime Deno. La note de version explique :
L’équipe Deno a pris des mesures radicales pour améliorer la situation des utilisateurs qui s’appuient sur les packages npm – soit via npm: specifiers, soit sur la découverte automatique package.json nouvellement ajoutée. L’ensemble de la couche de compatibilité est désormais intégrée dans le runtime Deno lui-même, et les instantanés V8 sont utilisés pour réduire considérablement le temps de démarrage. Cette intégration plus étroite permet de remplir plus facilement les API manquantes et améliore les performances des modules Node.js intégrés déjà pris en charge.
À partir de Deno 1.32, les développeurs peuvent utiliser des importations dynamiques et Web Worker
API avec des binaires créés avec le deno compile
sous-commande. La nouvelle fonctionnalité permet aux développeurs de créer plus facilement des exécutables pour les programmes multithreads.
Deno est un logiciel open source disponible sous licence MIT. Les contributions sont encouragées via le Projet Déno et doit suivre la Ligne directrice sur les cotisations Deno.