«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Миграция из чокидара в

Миграция из чокидара в

Опубликовано 1 ноября 2024 г.
Просматривать:979

Недавней большой победой в сфере e18e стало то, что chokidar опубликовал новую версию 4.x!

Эта новая версия избавлена ​​от целого ряда зависимостей и значительно упрощает внутреннюю логику, больше опираясь на возможности современной платформы.

Для тех из вас, кто не знает, что такое chokidar — это широко используемый наблюдатель файловой системы, который обеспечивает абстракцию поверх собственных функций наблюдения Node. Скорее всего, он уже есть где-то в вашем дереве зависимостей!

Разница в графике зависимостей

В chokidar 3.x:

Migrating from chokidar  to

В chokidar 4.x:

Migrating from chokidar  to

Изменения в 4.x

Большинство изменений являются внутренними и не должны влиять на то, как вы используете библиотеку, но значительно улучшат производительность.

Несколько заметных изменений:

  • fsevents был исключен, так как сам Node сейчас хорошо справляется с кроссплатформенной совместимостью
  • Поддержка модулей ES
  • Улучшенные типы TypeScript
  • Различные улучшения производительности
  • Поддержка глобальных объектов удалена

Единственное важное изменение из этого списка, которое повлияет на пользователей, — это удаление глобусов.

Жизнь без шариков

В chokidar 3.x можно было смотреть глобус. Например, мы могли бы просмотреть src/*.ts, и chokidar внутренне расширил бы шаблон, чтобы просмотреть все файлы TypeScript внутри src/.

В версии 4.x эта функция была удалена, поскольку того же можно добиться с помощью фильтров или внешней библиотеки glob.

Пример:

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

В большинстве случаев вы, вероятно, можете избежать необходимости использования библиотеки glob и вместо этого использовать функцию фильтра или RegExp (что во многих случаях также будет намного быстрее).

Обратная связь

Если вы обновитесь и у вас возникнут какие-либо отзывы или вы обнаружите какие-либо ошибки, мы будем рады услышать ваше мнение по вопросам.

Вы также можете заметить, что многие из нас в дискорде e18e усердно работают над переносом популярных пакетов с 3.x на 4.x.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/43081j/migrating-from-chokidar-3x-to-4x-5ab5?1. В случае нарушения авторских прав свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3