【发布时间】:2018-06-18 19:16:49
【问题描述】:
我正在编写一些样板代码,以使 VueJS 前端与 Go 驱动的后端一起工作(使用 gorilla/mux 作为路由器):
目前,我似乎大部分时间都在工作。我正在通过 Go 提供一个静态 HTML 文件,并用它渲染与 webpack 捆绑的 Vue 东西(目前是 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 服务器并使用基于 webpack 的中间件来修复此错误?如果是这样,如果我使用 Go 作为后端,这听起来很愚蠢(为什么我要运行两台服务器?)。我做错了吗?
至于 Go 方面,我尝试过在不同的端口上运行 Go 服务器和让 webpack 服务器在不同的端口上运行等等,但它总是无法连接到 http://localhost:<Go Server Port>/__webpack_hmr。
也许设置起来比我想象的要复杂,或者因为它似乎在“工作”,我可以放心地忽略这个错误?我不知道。
【问题讨论】:
-
感觉好像这是由于 Webpack 假设有一个 ExpressJS 服务器设置了中间件来处理这个问题,我需要类似的东西让 Go 服务器处理
__webpack_hmr请求,但是没有处理程序,所以也许这就是问题所在?如果是这样,我对如何修复它的想法为零,除非它是我需要 Go 包的东西。
标签: javascript go webpack vue.js mux