2016-08-11 8 views
1

マイプロジェクト大まかに以下の構造を有する:持っトラブルが設定

enter image description here

のWebPACKはpublicフォルダ内の静的な資産を置きます。私がやりたい何

output: { 
     path: resolve('public'), 
     filename: 'bundle.js' 
    }, 

はWebPACKのDevのサーバーがsrcフォルダからindex.htmlを果たすが、publicフォルダから静的な資産を要求するようにすることです。これは可能ですか?ドキュメントでは、index.htmlファイルをビルドフォルダに入れますが、publicフォルダから静的資産を提供するようにdevサーバーを設定できる場合は、そこにindex.htmlもコピーする必要はありません。

私は次のような構成を試してみましたが、それはうまくいきませんでした:

package.jsonに:

webpack.config.jsで
webpack-dev-server --inline --history-api-fallback --content-base src 

output: { 
     path: resolve('public'), 
     publicPath: '../public', 
     filename: 'bundle.js' 
    }, 

追加情報(重要な場合):ルータでコード分割を行っているので、アプリが対応するルートに切り替わるときに親バンドル(bundle.js)から要求されるバンドル(0.bundle.js1.bundle.jsなど)。

私は何を実現することは、メインバンドルはWebPACKのコンフィグレーションのoutputパラメータのpublicPathオプションを使用して依存バンドルへのリンクを作成することです。上に示した例では、publicPath/です。したがって、もし私がpublicフォルダからindex.htmlを提供し、index.htmlbundle.jsを必要とする場合、bundle.jsは同じフォルダから0.bundle.jsを必要とします。一方、publicPath/publicに設定した場合、publicフォルダに配置されたindex.htmlにはbundle.jsがあり、0.bundle.jsからpublic/publicフォルダが必要になります。

答えて

0

はちょうど私はまだ私の元の質問への答えを見つけることができますが、ことを言いたかった、私は私のindex.htmltemplateオプションとしてそれを渡して、より良いセットアップがHTMLWebpackPluginを使用することであることに気づきました。プラグインは自動的にスクリプトファイルを参照し、テンプレートに追加し、結果のhtmlを出力パス(publicフォルダ)に配置します。

幸せではありませんでした。

関連する問題