WiFi调试时手机访问不了本地开发服务器怎么办?

技术雨鑫 阅读 55

我用的是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>
我来解答 赞 9 收藏
二维码
手机扫码查看
2 条解答
景叶(打工版)
遇到这种情况,首先检查一下你的Vite配置是不是真的生效了。你已经把host设成了'0.0.0.0',这是正确的做法,确保Vite监听所有网络接口而不是默认的localhost。

然后,确认一下Mac的防火墙是不是真的完全关掉了,有时候即使你在系统设置里关了,某些安全软件可能还有额外的限制。

接着,可以尝试在Mac上用终端命令 ifconfig 查找你的电脑当前的局域网IP地址,确保你在手机浏览器里输入的是正确的IP。

最后,检查一下Vite服务器是不是正常启动,可以在Mac上直接打开浏览器,访问 http://localhost:5173,看看能不能正常显示你的测试页面。

如果这些都没问题,可能是网络配置的问题。确保你的路由器没有阻止设备间的通信,或者尝试重启路由器。有时候网络设备缓存可能会导致奇怪的问题。

如果还是不行,可以试着在手机浏览器里访问其他设备的服务,确认手机网络没问题。这一步排除了手机本身的网络设置或者DNS问题。

如果都试过了还是没辙,那可能得看看Vite的日志输出,看有没有什么错误信息,有时候会有线索。希望这些建议能帮到你,毕竟这种网络问题排查起来挺麻烦的。
点赞
2026-03-24 14:06
码农玉惠
这个问题我之前也遇到过,通常是这几个地方没配置对。

先检查一下Vite的配置文件 vite.config.js,确保 server 配置是这样的:

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

export default defineConfig({
plugins: [react()],
server: {
host: '0.0.0.0',
port: 5173
}
})


配置没问题的话,试试在命令行启动时直接加参数:

vite --host --port 5173


或者用 npm run dev 的话,先看下 package.json 里的 dev 脚本怎么写的,改成:

"dev": "vite --host"


Mac防火墙这块,光在设置里关可能不够。你去系统设置 → 隐私与安全性 → 防火墙,彻底关掉。如果还是不行,试试在终端执行:

sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off


输完密码重启一下。

另外确认下你用的IP地址是对的,在终端敲 ifconfig | grep inet 找那个 192.168.x.x 的地址。

还有一点,有时候Vite新版本需要额外配置允许所有主机访问,加一下 server: { host: '0.0.0.0', allowedHosts: 'all' } 试试。

这些都试一遍基本就能通了。
点赞
2026-03-13 18:01