"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Migrando de chokidar a

Migrando de chokidar a

Publicado el 2024-11-01
Navegar:321

¡Una gran victoria recientemente en el espacio e18e es que chokidar publicó una nueva versión 4.x!

Esta nueva versión elimina una gran cantidad de dependencias y simplifica enormemente la lógica interna, apoyándose más en las capacidades de la plataforma moderna.

Para aquellos de ustedes que no saben qué es chokidar, es un observador de sistemas de archivos ampliamente utilizado que proporciona una abstracción sobre las funciones de vigilancia propias de Node. ¡Lo más probable es que ya esté en algún lugar de su árbol de dependencias!

Diferencia del gráfico de dependencia

En chokidar 3.x:

Migrating from chokidar  to

En chokidar 4.x:

Migrating from chokidar  to

Cambios en 4.x

La mayoría de los cambios son internos y no deberían afectar el uso de la biblioteca, pero mejorarán enormemente el rendimiento.

Algunos cambios notables:

  • fsevents se eliminó porque Node maneja bien la compatibilidad multiplataforma en estos días
  • Soporte del módulo ES
  • Tipos de TypeScript mejorados
  • Varias mejoras de rendimiento
  • Se eliminó el soporte global

El único cambio importante de esta lista que afectará a los usuarios es la eliminación de globos.

Vida sin globos

En chokidar 3.x, era posible observar un pegote. Por ejemplo, podríamos ver src/*.ts y chokidar expandiría el patrón internamente para ver todos los archivos TypeScript dentro de src/.

En 4.x, esta funcionalidad se eliminó ya que puedes lograr lo mismo con filtros o una biblioteca global externa.

Un ejemplo:

// 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']));

En la mayoría de los casos, probablemente puedas evitar la necesidad de una biblioteca global y usar una función de filtro o RegExp en su lugar (que también será mucho más rápido en muchos casos).

Comentario

Si actualizas y tienes algún comentario o encuentras algún error, nos encantaría saber de ti a través de los problemas.

También puedes ver a muchos de nosotros en Discord e18e trabajando arduamente para migrar paquetes populares de 3.x a 4.x.

Declaración de liberación Este artículo se reproduce en: https://dev.to/43081j/migrate-from-chokidar-3x-to-4x-5ab5?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3