ホットモジュールの交換


ホット モジュール交換
ホット モジュール交換 (HMR) は、開発エクスペリエンスを向上させるためにページ全体を更新することなく、実行時にブラウザー内のモジュールを自動的に更新します。これは、小さな変更を経てもアプリケーションの状態を保持できることを意味します。 Parcel の HMR 実装は、そのままの状態で JavaScript および CSS リソースをサポートします。 HMR は、実稼働モードでパッケージ化するときに自動的に無効になります。
ファイルを保存すると、Parcel は変更を再構築し、新しいコードを含む更新を実行中のクライアントに送信します。新しいコードは古いバージョンを置き換え、すべての親リソースとともに再計算されます。 module.hot API を使用してこのプロセスにフックすることができ、モジュールが削除されようとしているとき、または新しいバージョンが入ったときにコードに通知できます。 React-hot-loader のようなプロジェクトは、このプロセスに役立ち、そのままで Parcel と連携できます。
module.hot.accept と module.hot.dispose という 2 つの既知のメソッドがあります。 module.hot.accept では、モジュールまたはその依存関係が更新されたときに実行されるコールバック関数を使用できます。モジュールが交換される直前に、 module.hot.dispose コールバック関数が呼び出されます。

if (module.hot) {
  module.hot.dispose(function () {
    // 模块即将被替换时
  });
  module.hot.accept(function () {
    // 模块或其依赖项之一刚刚更新时
  });
}

安全な書き込み
一部のテキスト エディターと IDE には、安全な書き込みと呼ばれる機能があり、基本的にファイルのコピーを作成し、保存中に名前を変更します。
ホット モジュール リロード (HMR) を使用する場合、この機能はファイル更新の自動検出を防ぎます。安全な書き込みを無効にするには、以下のオプションを使用します:
Sublime Text 3 atomic_save: "false " をユーザー設定に設定します。
IntelliJ 設定の検索を使用して「安全な書き込み」を見つけて無効にします。 *Vim :setbackupcopy=yes を設定に追加します。
WebStorm [設定] > [外観と動作] > [システム設定] で [安全な書き込み] のチェックを外します。