Go で Web サービスを開発しており、その UI を でvue.js
パッケージ化された Web サイトに委譲しwebpack
ます。
My Go サービスは、UI と UI が使用する REST API のホストを担当します。
vue.js
開発モードでは、webpack
ツール (たとえば inotify ベースの自動リロード) の恩恵を受けたいので、これを行う Go プログラムにスイッチを追加しました。
var handler http.Handler
if isDevelopment {
// url below points to the webpack standalone
// development server, at http://localhost:8080.
proxy := httputil.NewSingleHostReverseProxy(url)
proxy.FlushInterval = time.Millisecond * 100
handler = proxy
} else {
handler = http.FileServer(http.Dir("www"))
}
したがって、基本的に、開発モードでは、webpack の開発サーバーを ( でnpm run dev
) 起動でき、Go プログラムはすべての UI 要求をそれに委任します。
これは、数秒後にChromeが次のように文句を言うことを除いて、驚くほど機能します。
http://localhost:9999/__webpack_hmr net ::ERR_INCOMPLETE_CHUNKED_ENCODING を取得します
自動更新はしばらく動作を停止し、最終的には元に戻りますが、webpack のスタンドアロン サーバーに直接接続する場合よりも遅くなります。
Goの問題を追跡できると思いますが、httputil.ReverseProxy
イベントソースを適切に処理するための特定のコードはないと思います.
これは既知の問題ですか? Go リバース プロキシ イベント ソースを認識/互換性を持たせるためにできることはありますか?