12

React で作成され、Webpack にバンドルされている Web アプリケーションがあります。アプリケーションには、実行時に含め、webpack にバンドルしない JSON 構成ファイルがあります。

アプリケーションのエントリ ポイントで、json-loader を使用してコンテンツをインポートしていますが、これを行うと、ファイルがアプリケーションに埋め込まれ、バンドルされた構成ファイルを更新できません。

config.json ファイルを除外するように webpack.config.js ファイルを構成し、アプリケーションにインポートできるようにするにはどうすればよいですか? externalsこれはモジュールではないため、webpack.config.jsのセクションに含めることができるかどうかはわかりません

require.ensure を使用してみましたが、現在表示されているのは config.json の内容が 1.1.bundle.js ファイルにバンドルされているだけで、構成ファイルを変更しても何も起こりません。

app.js

let config;
require.ensure(['./config.json'], require => {
    config = require('./config.json');
});
4

2 に答える 2

2

構成がそれほど機密でない場合は、index.html でこれを行うことができます。

<script>
  var initialState = {
    config: {
      idleTime: 120,
      fetchStatusInterval: 8,
      dataPath: 'somepath.json',
    },
  };
  window.__INITIAL_STATE__ = initialState;
</script>
<script src="static/bundle.js"></script>

そして、反応するアプリケーションで設定を取得します

const applicationInitialState = window.__INITIAL_STATE__;
const config = applicationInitialState.config;
于 2016-10-16T18:34:26.143 に答える