Не удалось подключиться к localhost:3000 из веб-приложения

Я работаю над некоторым стандартным кодом, чтобы интерфейс VueJS работал с бэкэндом на основе Go (используя gorilla/mux для роутера):

В настоящее время у меня, кажется, все работает по большей части. Я передаю статический HTML-файл через Go и отрисовываю с него содержимое Vue, которое поставляется вместе с webpack (в настоящее время webpack-dev-server, а не физический пакет), и у меня возникла странная проблема:

В моем браузере Firefox постоянно говорит мне следующее:

Firefox can’t establish a connection to the server at http://localhost:3000/__webpack_hmr.

Тем не менее, когда я меняю компоненты Vue и сохраняю их, они автоматически обновляются в браузере, как я и ожидал. Я действительно смущен, я думаю, я не знаю, почему это происходит.

Я попытался изменить порт, на котором работает мой сервер Go, и кажется, что соединение всегда прерывается при http://localhost:<Go Server Port>/__webpack_hmr,

Какие-нибудь мысли? Может быть, есть шаг, который я пропускаю, или установка более сложная, чем я думал.

Нужно ли запускать сервер Express и использовать Middleware на основе веб-пакетов для исправления этой ошибки? Если это так, это звучит глупо, если я использую Go для бэкэнда (зачем мне запускать два сервера?). Я делаю что-то неправильно?

Что касается стороны Go, я попытался запустить сервер Go на другом порту и запустить сервер веб-пакетов на разных портах и ​​тому подобное, но он всегда не может подключиться к http://localhost:<Go Server Port>/__webpack_hmr,

Может быть, это сложнее настроить, чем я думал, или, так как кажется, что он "работает", я могу спокойно проигнорировать эту ошибку? Я не знаю.

2 ответа

Если я правильно понимаю вашу проблему. ваш клиент и сервер используют разные порты, и если это так, то вы используете CORS(Cross-Origin Resource Sharing) запрос для связи с клиент-сервером. см. следующие ссылки, надеюсь, это поможет вам решить проблему с CORS (это мне очень помогает)

Удалить 'webpack-hot-middleware/client' из вашего конфига webpack и любых ссылок в вашей кодовой базе. Это используется только для горячей перезагрузки, поэтому его можно безопасно удалить.

Поскольку вам нужна горячая перезагрузка, вы должны использовать: https://github.com/go-webpack/webpack

Этот модуль обеспечивает правильную интеграцию с веб-пакетом, поддерживает правильную перезагрузку ресурсов в процессе разработки и хэши активов для производственного кэширования.

Однако они показывают только примеры использования Gin а также Iris, поэтому вам может понадобиться открыть вопрос с ними для примера, основанного на чисто net/http (при условии, что это то, что вы используете).

Другие вопросы по тегам