Part I and Part II of this series lay the groundwork for building not only the frontend code of your app, but also the backend. So far, while the system has a nice consistency, it offers little to the casual observer. Today, in this final post, we are going to look at something that no other build system can touch: using hot module replacement to update a running app live. I've always wanted a liv
Hot Module Replacement (HMR)はwebpackの提供する仕組みで、画面の再描画すること無しにJSの変更をブラウザに適用してくれる開発ツールです。再描画無しにと言うのは、「F5とかリロードボタンを押さなくても自動的に再描画してくれますよ」ということではなく、文字通り変更したモジュールのみを置き換えてくれます。 Reactを導入して開発環境を整えると、当然のようについてくるので使う分には意識する必要もないですが、、 で、これって何なんだっけ?というのを整理しました。 HMRは、Websocket通信と、ソースコードに注入されたいくつかのRuntimeと呼ばれるスクリプトによって実現されます。ソースコードの変更をコンパイラが検知し、WebSocketでブラウザに通知、通知を受け取ったRuntimeはサーバーから変更分のスクリプトを取得してモジュールを置き換えます。 前述
HMR(Hot Module Replacement)はWebpackが提供する、ブラウザのリロードをすること無くアプリケーションのJSを更新する開発ツールです。 ReactではBabelやWebpackのプラグインでアプリケーションコードに注入することで実現していますが、React以外でもHMRを行うことができます。ただし、HMRに対応させるためにはいくつかモジュールやアプリケーションに合わせた実装が必要です。 ReactがどうやってHMRに対応しているかを理解するため、Reactでないアプリケーションで必要な実装について、そしてReactの場合何をやっているかをまとめました。 このエントリの内容については、(そのままではありませんが)githubにあげているので参考にして下さい。 また、HMRを含めた環境のセットアップはReact開発環境を構築する時に出てくるbabelやwebpack
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く