ファイルを1つずつ追加することなくすべての反応コンポーネントをホットリロードしたいと思います。動的反応ホットリロードすべてのjsファイル
module.hot.accept(['react/a', 'react/b', 'react/c'], function(){})
私のプロジェクトでは、すべてのjsファイルをホットリロードするためにrequire.context
を使用しています。
'user strict';
import React from 'react';
import ReactDOM from 'react-dom';
import A from 'a'
ReactDOM.render(<A/>, document.getElementById('hello'))
var context = require.context("react", true, /\.js$/);
if (module.hot) {
module.hot.accept(context.id, function() {
var reloadedContext = require.context("react", true, /\.js$/);
ReactDOM.render(<A/>, document.getElementById('hello'))
});
}
が、私は「A」からAを輸入しているため、ファイルa.jsは、もはやホットリロードではありません。ファイルb.jsとc.jsはホットリロード可能なままです。
どのようにrequire.context
が動作するのかわかりません。なぜ、インポートされたファイルがホットリロードできないのですか。
私のプロジェクトの例ですが、私の問題をフォークして複製することができます。いくつかアドバイスをくれてありがとう!
https://github.com/flik930/webpack-hot-module-reload-with-context-example
a.jsを変更したときにコンソールログを開こうとすると、ページがリロードされ、b.jsを修正しようとしました。ページリロードではなくホットリロードです。 –
あなたはそうです、申し訳ありません - ページがリフレッシュされたという事実を忘れました。つまり、同じファイルをロードするために常にrequire.contextを使用しなければなりません。私はそれを動作させるための例を更新しています。 –