在旧版的webpack-dev-server(即3及以下版本)中,我们可以通过设置
devServer.public
的值来暴露webpack和webpack-dev-server的websock,并使用ngrok隧道。如下所示:// WDS v3
devServer: {
public: 'react-tunnel.ngrok.io',
// other webpack devServer config
}
在像React这样的框架中开发应用程序时,我们可以从本地机器创建安全隧道到公共URL,以便轻松测试Web应用程序。
然而,在最新版本的webpack-dev-server(v4)中,public
属性已被替换为client.webSocketURL
对象(来源)。我无法找到任何资源来使它与ngrok一起使用,因为当我将devServer.client.webSocketURL.hostname
指向我的ngrok隧道时,websockets未能正确连接。
// WDS v4
devServer: {
client: {
webSocketURL: {
hostname: 'react-tunnel.ngrok.io',
},
},
}
上述实现只是一个部分解决方案,因为WebSocket没有正确设置,因此它不支持热重载。
有人知道解决这个问题的方法吗?以便ngrok再次与webpack-dev-server良好配合?