問題タブ [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.

0 投票する
1 に答える
1659 参照

vue.js - Nuxt アプリケーションで webpack-hot-middleware クライアント オーバーレイをオフにする

Nuxt アプリケーションで webpack-hot-middleware からのオーバーレイをオフにしようとしています。

nuxt.config.js で構成を編集しようとしましたが、オーバーレイは持続します。

0 投票する
2 に答える
500 参照

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

エラー

0 投票する
1 に答える
449 参照

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:8080http://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_hmrhttp://hostname/my/module/__webpack_hmrhttp://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を構成する必要のないソリューションをお勧めします。