我是 nuxt 新手,在 nuxt 项目上配置 HMR websocket 连接并在 Gitpod 中运行时遇到问题。项目使用nuxt 3 + vite。
运行后,yarn dev开发服务器在端口 3000 上运行,前端尝试通过 websocket 连接到在端口 上运行的 vite 开发服务器24678。
不幸的是,服务器通过反向代理和 https 端点暴露在 Gitpod 环境中。因此,内部服务器在定义的端口上运行,并在不同的 SSL 端点上公开公开,例如https://3000-CONTAINER_ID.gitpod.io/和https://24678-CONTAINER_ID.gitpod.io/。但 HMR 默认情况下会尝试连接到ws://3000-CONTAINER_ID.gitpod.io:24678/_nuxt/.
我尝试在 nuxt 上调整 vite HMR 配置,但我不走运。我最接近我想要实现的目标是这个配置:
export default defineNuxtConfig({
...
server: {
hmr: {
protocol: 'wss',
clientPort: 443,
},
proxy: {
'/_nuxt': 'http://localhost:24678/_nuxt',
}
},
...
});
Run Code Online (Sandbox Code Playgroud)
这样,前端中的 websocket URL 看起来是正确的,是:wss://3000-CONTAINER_ID.gitpod.io/_nuxt/,但我得到一个WebSocket connection to ... failed.结果 …