"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Migration de Chokidar vers

Migration de Chokidar vers

Publié le 2024-11-01
Parcourir:115

Une grande victoire récemment dans l'espace e18e est que Chokidar a publié une nouvelle version 4.x !

Cette nouvelle version supprime tout un tas de dépendances et simplifie considérablement la logique interne, en s'appuyant davantage sur les capacités de la plate-forme moderne.

Pour ceux d'entre vous qui ne savent pas ce qu'est chokidar - il s'agit d'un observateur de système de fichiers largement utilisé qui fournit une abstraction au-dessus des propres fonctions de surveillance de Node. Il est plus que probable qu'il se trouve déjà quelque part dans votre arborescence de dépendances !

Différence du graphique de dépendance

Dans chokidar 3.x :

Migrating from chokidar  to

Dans chokidar 4.x :

Migrating from chokidar  to

Modifications dans la version 4.x

La plupart des changements sont internes et ne devraient pas affecter la façon dont vous utilisez la bibliothèque, mais amélioreront considérablement les performances.

Quelques changements notables :

  • fsevents a été abandonné car Node lui-même gère bien la compatibilité multiplateforme de nos jours
  • Prise en charge des modules ES
  • Types TypeScript améliorés
  • Diverses améliorations des performances
  • Support global supprimé

Le seul changement majeur par rapport à cette liste qui affectera les utilisateurs est la suppression des globs.

La vie sans globes

Dans chokidar 3.x, il était possible de regarder un glob. Par exemple, nous pourrions regarder src/*.ts et chokidar développerait le modèle en interne pour surveiller tous les fichiers TypeScript à l'intérieur de src/.

Dans la version 4.x, cette fonctionnalité a été supprimée car vous pouvez obtenir la même chose avec des filtres ou une bibliothèque globale externe.

Un exemple :

// chokidar v3
watch('src/*.ts');

// chokidar v4 (RegExp)
watch('src', {
  // any path whose end is not preceded by `.ts`
  ignored: /(?
    stats?.isFile() &&
    !path.endsWith('.ts')
});

// chokidar v4 (glob)
// NOTE: this will not watch newly added files. It
// will only watch the initial set of files
import {glob} from 'tinyglobby';
watch(await glob(['src/*.ts']));

Dans la plupart des cas, vous pouvez probablement éviter d'avoir recours à une bibliothèque globale et utiliser une fonction de filtre ou RegExp à la place (qui sera également beaucoup plus rapide dans de nombreux cas).

Retour

Si vous effectuez une mise à niveau et avez des commentaires ou trouvez des bugs, nous serions ravis de vous entendre via les problèmes.

Vous pouvez également voir beaucoup d'entre nous sur le Discord e18e travailler dur sur la migration des packages populaires de 3.x vers 4.x.

Déclaration de sortie Cet article est reproduit à: https://dev.to/43081j/migrant-from-chokidar-3x-to-4x-5ab5?1 S'il y a une violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3