核心提示:笔者平时做一些web项目,在开发时非常喜欢使用Chrome浏览器。启动速度快、对CSS、JS标准化的支持和方便的F12工具成为了不二的调试工具。我的开发方案是将各个不同的环境设置为不同的域名,如下表所...
笔者平时做一些web项目,在开发时非常喜欢使用Chrome浏览器。启动速度快、对CSS、JS标准化的支持和方便的F12工具成为了不二的调试工具。
我的开发方案是将各个不同的环境设置为不同的域名,如下表所示:
环境名称 | 主机地址 | 域名 |
---|---|---|
本地调试 | 127.0.0.1 | test.biz.domain.com |
测试机联调 | 10.168.10.24 | test.biz.domain.com |
线上环境 | DNS解析 | biz.domain.com |
面临的问题
这种方案经常带来的问题:当我手动修改c:\windows\system32\drivers\etc\hosts或者/etc/hosts,尝试切换本地调试和测试机联调环境时经常出现Chrome无法立即生效的情况,请求会依旧打到之前的环境中。当然早期有一种土办法:重启Chrome。如果你当前浏览器中打开了好多网页,而且都暂时不能关时,你会很抓狂。后来通过查阅资料,只需要对Chrome相关的缓存清除掉即可,百试不爽:
清除套接字缓存
在Chrome中打开地址:
chrome://net-internals/#sockets
看到类似如下界面:
分别点击第一个Close idle sockets(关闭空闲套接字)和第二个Flush socket pools(清空套接字池)
清除DNS缓存
在Chrome中打开如下地址:
chrome://net-internals/#dns
看到类似如下界面:
点击Clear host cache(清除主机缓存)。此时再次刷新想要调试的页面,请求将按照最新的hosts配置进行发送。