「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > チョキダールからへの移行

チョキダールからへの移行

2024 年 11 月 1 日に公開
ブラウズ:238

e18e 分野で最近大きな成果となったのは、chokidar が新しい 4.x バージョンを公開したことです!

この新しいバージョンでは、大量の依存関係が削除され、内部ロジックが大幅に簡素化され、最新のプラットフォーム機能をより重視しています。

chokidar が何なのか知らない人のために説明すると、chokidar は広く使用されているファイル システム ウォッチャーであり、Node 自身の監視機能の上部に抽象化を提供します。おそらく、それはすでに依存関係ツリーのどこかにあるでしょう!

依存関係グラフの違い

chokidar 3.x:

Migrating from chokidar  to

chokidar 4.x:

Migrating from chokidar  to

4.x での変更点

ほとんどの変更は内部的なものであり、ライブラリの使用方法には影響しませんが、パフォーマンスは大幅に向上します。

いくつかの注目すべき変更点:

  • 最近では Node 自体がクロスプラットフォーム互換性をうまく処理しているため、fsevents は削除されました
  • ES モジュールのサポート
  • TypeScript タイプの改善
  • さまざまなパフォーマンスの改善
  • Glob サポートが削除されました

このリストからユーザーに影響する大きな変更点は、グロブの削除です。

グロブのない生活

chokidar 3.x では、グロブを監視することが可能でした。たとえば、src/*.ts を監視すると、chokidar はパターンを内部的に展開して、src/.

内のすべての TypeScript ファイルを監視します。

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 discord で私たちの多くが人気のパッケージを 3.x から 4.x に移行することに熱心に取り組んでいることもわかります。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/43081j/migrated-from-chokidar-3x-to-4x-5ab5?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3