Webpack.configファイルに次の出力構成があります。
config = {
...
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js',
publicPath: 'http://localhost:8090/'
},
... }
Bundle.jsは、path
で指定されたパスに書き込まれません。 Webサーバーからのみ利用できますが、両方が必要です。
ファイルとWebサーバーの両方を使用するには何を変更する必要がありますか?
Webpack-dev-serverを実行すると、実際にはwebpackバンドルをバンドルして再構築するのではなく、メモリからのみ提供されます。
私の経験では、これを回避する方法は、実際のビルドとwebpack-dev-serverが必要な場合に、2つのインスタンスを実行することです。したがって、1つのターミナルウィンドウに
webpack --watch
実行中、(webpack --watchは実際のバンドルを再構築します)。次に、別の端末で
webpack-dev-server
実行中、(webpack-dev-serverは再ロードを実行し、新しいビルドをメモリから提供します)。
表示されます これは組み込みオプションになりました 。 webpack設定ファイルに以下を追加できます。
devServer: {
writeToDisk: true
}
これは webpack-dev-serverバージョン3.1.1 の時点で追加されたようです
このプラグインは、webpack-dev-server
にバンドルファイルも書き込むように強制し、ターミナルで2つのプロセスを実行する必要をなくします。