私は webpack にバンドルされたフロントエンド アプリケーションを持っています。これは Node バックエンド サーバーによって提供され、通信します。
Webpack ホット開発サーバーが で実行されてい8080
ます。ノード バックエンドは で実行されてい1985
ます。
Nodeからサービスを提供したいのですindex.html
が、開発中は最新の開発サーバーからアセットを提供したいと考えています。これを達成するために私は持っています:
webpack config で publicPath の絶対値を設定します。
output: {
publicPath: 'http://localhost:8080/'
},
また、絶対 URL を使用index.html
して、ホットな開発サーバーを指すようにしました。
<script src="http://localhost:8080/webpack-dev-server.js"></script>
<script src="http://localhost:8080/js/vendors.js"></script>
<script src="http://localhost:8080/js/bundle.js"></script>
そのため、ホットな開発サーバーを実行し、ノード サーバーを実行して を参照できますhttp://localhost:1985
。すべてが素晴らしいです。
しかし、本番環境でデプロイ/実行するようになると、これは間違いなく私が望むものではありません. vendors.js
andの相対 URL が必要であり、スクリプトbundle.js
を含めたくありません。webpack-dev-server.js
サーバー上でハンドルバーまたはその他のテンプレートを使用して絶対/相対パスを指定できますが、ホットな開発サーバー スクリプトを削除するクリーンな方法は提供されません。セットアップごとに異なるインデックス ファイルを使用することもできますが、これはすぐにバグにつながるようです。
開発でホットな開発サーバーを使用できるようにするために、これをどのように構造化/展開するのが最善でしょうか?