真机调试时 console.log 不显示怎么办?

Air-燕伟 阅读 50

我在用 iPhone Safari 调试一个移动端网页,连上电脑后在开发者工具里看不到 console.log 的输出,明明代码执行了但控制台一片空白,有遇到过类似问题的吗?

已经确认开启了“Web 检查器”,也试过重启 Safari 和手机,还是不行。本地开发服务器是用的 vite 启动的,地址是 http://localhost:5173,手机和电脑在同一局域网下访问的 IP 地址。

我来解答 赞 9 收藏
二维码
手机扫码查看
2 条解答
设计师小秋
这个问题我遇到过,主要是 Vite 开发服务器的配置问题。

Vite 默认只监听 localhost,你用局域网 IP 访问时 Safari 根本连不上正确的调试通道。

解决方法:让 Vite 监听所有网络接口在 vite.config.js 里加上:

export default defineConfig({
server: {
host: true, // 或者 host: '0.0.0.0'
port: 5173
}
})


或者直接命令行启动:

vite --host


改完重启开发服务器,手机用局域网 IP 重新访问一遍。



如果还不行,检查一下:

Safari 那边确认「开发」菜单里能看到你的 iPhone 设备名称。如果看不到,插拔一下数据线,或者在 iPhone 上随便访问一下那个页面,让 Safari 建立连接。

还有一个小坑:如果页面是从 HTTPS 缓存加载的,可能会导致调试不正常,清一下 iPhone Safari 的网站数据试试。

基本上改 server.host 就能解决,这是 Vite 开发模式的常见坑。
点赞
2026-03-19 00:01
W″向景
啊这个坑我踩过...试试在 vite.config.js 里加这个:

server: {
hmr: {
protocol: 'ws',
host: '你的本地IP'
}
}


顺便检查下 Safari 控制台右上角有没有被过滤掉日志级别,我之前被这个坑过一晚上...
点赞
2026-03-06 13:00