WiFi调试时手机访问不了本地开发服务器怎么办?
我用的是Mac,开了本地的Vite开发服务器(localhost:5173),电脑和手机连的是同一个WiFi。在手机浏览器里输入电脑的局域网IP加端口(比如192.168.1.10:5173),结果打不开页面,提示连接超时。防火墙也关了,Vite也配置了host: ‘0.0.0.0’,但还是不行。
这是我的index.html,很简单,就一个测试元素:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Test Page</title>
</head>
<body>
<h1>Hello from local dev server!</h1>
</body>
</html>
然后,确认一下Mac的防火墙是不是真的完全关掉了,有时候即使你在系统设置里关了,某些安全软件可能还有额外的限制。
接着,可以尝试在Mac上用终端命令
ifconfig查找你的电脑当前的局域网IP地址,确保你在手机浏览器里输入的是正确的IP。最后,检查一下Vite服务器是不是正常启动,可以在Mac上直接打开浏览器,访问
http://localhost:5173,看看能不能正常显示你的测试页面。如果这些都没问题,可能是网络配置的问题。确保你的路由器没有阻止设备间的通信,或者尝试重启路由器。有时候网络设备缓存可能会导致奇怪的问题。
如果还是不行,可以试着在手机浏览器里访问其他设备的服务,确认手机网络没问题。这一步排除了手机本身的网络设置或者DNS问题。
如果都试过了还是没辙,那可能得看看Vite的日志输出,看有没有什么错误信息,有时候会有线索。希望这些建议能帮到你,毕竟这种网络问题排查起来挺麻烦的。
先检查一下Vite的配置文件
vite.config.js,确保 server 配置是这样的:配置没问题的话,试试在命令行启动时直接加参数:
或者用 npm run dev 的话,先看下 package.json 里的 dev 脚本怎么写的,改成:
Mac防火墙这块,光在设置里关可能不够。你去系统设置 → 隐私与安全性 → 防火墙,彻底关掉。如果还是不行,试试在终端执行:
输完密码重启一下。
另外确认下你用的IP地址是对的,在终端敲
ifconfig | grep inet找那个 192.168.x.x 的地址。还有一点,有时候Vite新版本需要额外配置允许所有主机访问,加一下
server: { host: '0.0.0.0', allowedHosts: 'all' }试试。这些都试一遍基本就能通了。