必要があります。私は名前require('moduleName')
によってモジュールを必要とする場合WebPACKの複数のルートとダイナミックで、私はWebPACKの2つの根で構成している
resolve: {
root: [ path.resolve('./src/siteName'), path.resolve('./src/common') ]
},
モジュールの決意は完璧に動作します。それはsiteName
フォルダーにあり、そこにモジュールが見つからない場合はcommon
フォルダーにあります。
モジュールを動的に要求しようとすると、webpackはsiteName/Pages
のすべてのファイルをバンドルに追加しますが、common/Pages
フォルダのファイルは無視します。
私はrequire.context
を調べましたが、すべて両方のフォルダからのファイルを含むようになりました。次のようなファイル構造を考えると、まとめると
var req = require.context('../', true, /\/(siteName|common)\/Pages/);
var page = req(pageModuleName);
:WebPACKのはで設定するため
common/Pages/PageA.js
common/Pages/PageB.js
siteName/Pages/PageA.js
を私は
require('Pages/' + pageModuleName);
ような何かを行うときには、それが可能です追加する方法ちょうど
バンドルへsiteName/Pages/PageA.js
common/Pages/PageB.js
と私はあなたが達成しようとしているものとは思わない
common/Pages/PageA.js
に設定する必要がありますか?私は2つのバンドルを作成するつもりはなく、2つのconfigsでどのように動作するのか分かりません。私のエントリーポイントは 'common'フォルダーにあり、それは実際には動的' require'を持つファイル/ルーターです。 –
@JohnNikolakis oops ..私は誤解しました。しかし、私はあなたがしようとしていることは達成できるとは思わない。ルートネーミングの変更を検討するか、ファイル内からrequireを行い、絶対パスを使用することをお勧めします。 https://github.com/webpack/webpack/issues/472 –