は、私は、次の高次の成分を持っていると言う以上は、動的であることのWebPACKの動的高次コンポーネントにモジュールを必要
FormFactorSensitiveWrapper(Home, 'pages/home');
目標私たちがデスクトップ対モバイル固有のバンドルをコンパイルしているかどうかに依存して、モジュールで必要なスタイリングファイルの切り替え。
このアプローチは動作しますが - かろうじて - WebPACKのコンテキストを決定するために、一見できず、代わりにそのチャンクへstyle
、フォルダ内のすべてのファイルをコンパイルしているように私は、バンドルのコンパイル+非常に肥大化したチャンクで致命的でない警告を取得します。私はrequire.context
を使ってアプローチを試みましたが、それは別々の失敗がありました(私のwebpack.config.js
で定義されたローダーは適切に適用されていないようです)。
EDIT私は次のようにも(意味、環境変数の使用が問題を引き起こしていない)同じ問題につながることに注意してください:
const FormFactorSensitiveWrapper = function(Component, styleFilePath) {
if (styleFilePath) {
require('styles/' + styleFilePath + '.desktop');
}
const FormFactorSensitive = React.createClass({
render: function() {
return <Component {...this.props} />
}
});
return FormFactorSensitive;
};
HMのWebPACKにWebPACKの1または
System.import
でrequire.ensure
を使用する必要がありますcode splittingを使用したい場合は、そう私はあなたがいると思いますしかし、実際には、これは実際には、私のユースケースのための本当に面倒なコードにつながります(高次のコンポーネントが必要な可能性のあるすべてのパスを知る必要があるため) – Bobby私はそれを「乱雑」なコードと見なしません。実際には、例のコンポーネントがすべての可能なパスを知っているわけではありませんが、暗黙の知識がアプリケーション全体に広がっています。そうでなければ、パスが使用可能かどうかをどのように知っていますか? – guzart
[webpack contexts](https://webpack.github.io/docs/context.html)とその[example](https://github.com/webpack/webpack/tree/)を見てください。 master/examples/require.context#examplejs)。 – guzart