我正在使用webpack/react-starter,我正在尝试使用连接到与我的开发机器相同的 LAN 的移动设备进行测试。因此,我没有输入 localhost:3000,而是将 IP 192.168.XX:3000 放入我的移动浏览器。
由于移动设备不知道能够使用 localhost 评估脚本标签,因此最佳做法是什么?我将这个 hacky 脚本放在了在 dev 中提供的 html 中,但这感觉不对。
<script>
//inserts new script tag with localhost replaced by ip
if('ontouchstart' in window){
var ipRegex = /([0-9]{3}\.){2}[0-9]{1,3}\.[0-9]{1,3}/;
var ip = window.location.href.match(ipRegex)[0];
var url = Array.prototype.shift.call(document.getElementsByTagName('script')).getAttribute('src');
var newScript = document.createElement('script');
newScript.src=url.replace('localhost',ip);
document.body.appendChild(newScript);
}
</script>
这会获取捆绑包,但 socket.io 无法连接到 webpack-dev-server [Error] Failed to load resource: Could not connect to the server. (socket.io, line 0)
,这不会让我使用 HMR。在这种情况下,正常人会怎么做?