問題タブ [webpack-hot-middleware]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vue.js - Nuxt アプリケーションで webpack-hot-middleware クライアント オーバーレイをオフにする
Nuxt アプリケーションで webpack-hot-middleware からのオーバーレイをオフにしようとしています。
nuxt.config.js で構成を編集しようとしましたが、オーバーレイは持続します。
webpack - WebpackOptionsValidationError 無効な構成 webpack(config)
将来のプロジェクトで使用する予定のベース Web サーバーを構築しています。完全なJavaScriptスタックをセットアップしています。Express、Webpack、および Babel を使用しています。
問題は、Express を使用して hmr をセットアップする際に、構成ファイルで検証エラーが発生することです。
構成ファイルは、webpack-dev-server および Express の基本設定でうまく機能しました。それでも、webpack(config)
構成エラーを介して呼び出された場合。
webpack.config.js
webpack.config.babel.js
webpack.common.babel.js
サーバー.js
エラー
node.js - IIS Rewrite / 相対ベース URL で Webpack Hot Middleware / Webpack Hot Reload を使用するには?
HAPI を webserver として、webpack-hot-middleware を hot-module-replacement として使用するアプリケーションを開発しています。
アプリケーション サーバーは で実行されhttp://hostname:8080
ます。
で実行されるアプリケーションを提供するhttp://hostname/my/module/
ために、 からまでのすべてを書き換える IIS 書き換えを使用しています。http://hostname/my/module/
hostname:8080
http://hostname/my/module/(...)
http://hostname:8080/(...)
この問題は、 を使用して開発するときに発生しwebpack-hot-middleware
ます。webpack hot-module-replacement は常にhmrエンドポイント (変更を検出/提供するための websocket だと思います) をハードコーディング/__webpack_hmr
しようとしますが、ルート ページhttp://hostname/my/module/
が開かれている場合はhttp://hostname/__webpack_hmr
. もちろん、これは見つからず、404 を返します。これは、で実行されている IIS がhttp://hostname/
webpack hmr について何も知らないためです。
ここで、開発のために、独自のアドレスを使用してアプリケーションにアクセスすることも問題ありませんがhttp://hostname:8080/
、CORS エラーが発生します。
オリジン ' http://hostname:8080 ' から ' http://hostname/__webpack_hmr ' にあるリソースへのアクセスがCORS ポリシーによってブロックされました: 要求されたリソースに 'Access-Control-Allow-Origin' ヘッダーが存在しません。
したがって、を使用してアプリケーションにアクセスしているにもかかわらずhttp://hostname:8080
、webpack-hmr はまだソケットを開こうとしているように見えhttp://hostname/__webpack_hmr
ますが、さらに CORS エラーで失敗します。
最終的にエンドポイントを相対パスとしてwebpack.HotModuleReplacementPlugin
提供する必要があることを伝えるオプションはありますか(正しいアドレスになるように書き換えられます)。__webpack_hmr
http://hostname/my/module/__webpack_hmr
http://hostname:8080/__webpack_hmr
または、これが不可能な場合、を使用してアプリケーションにアクセスするときに少なくとも機能させる方法はありますhttp://hostname:8080/(...)
か?
ドキュメントには何も見つかりませんでした。一部の Github の問題でのみ、Webpack のpublicPath
構成が言及されていますが、それがどのように役立つかわかりませんでした。
更新
もう少し進んwebpack-hot-middleware
で、webpack構成のエントリポイントを設定する"webpack-hot-middleware/client?path=http://hostname/my/module/__webpack_hmr"
と、__webpack_hmrエンドポイントが正しい場所で利用できるようになることがわかりました。
しかし、次の問題は、HRM ファイルが
dist.XYZ.hot-update.json
distbundle.XYZ.hot-update.js
/dist.XYZ.hot-update.json
また、ルート ディレクトリ ( 、 ) の直下に配置しようとします/distbundle.XYZ.hot-update.js
。これらの場所を相対的にする/特定のサブディレクトリを設定する可能性はありますか?
別のIIS書き換えを追加して、これらのパスを次のように書き換えhttp://localhost:8080/dist.XYZ.hot-update.json
ますが、IISを構成する必要のないソリューションをお勧めします。