Modules intégrés, package.json, importation dynamique et compilation de travailleurs

Modules intégrés, package.json, importation dynamique et compilation de travailleurs

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 le node: 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.

Facebook
Twitter
LinkedIn
Pinterest

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.