开发项目,需要来回在线上切换线上 /测试资源环境,同时也需要更改 host 。
一般我们用 SwitchHosts 来管理,每次切换环境的时候,手动点一下规则,而且是全局的,如果你有两个标签页,一个线上一个测试,其中一个资源必定无法使用。
这个插件的原理就是 service worker ,可以拦截当前标签页所有请求(websockt 和其他 worker 内部请求除外),包括图片,视频,然后把这些请求的 url 更改
然后发送给本地服务器,本地服务器再使用内部配置好的自定义 dns ,然后返回给标签页
这样一来,每个标签页都有独立的 hosts ,测试环境和线上环境 就不冲突了
当然也有一些缺点,比如 devtool network log 会有两条记录,但是 worker 的前面会有一个 icon ,还是明显能区分的
你的 测试环境 必须支持 service worker ,要么是 https ,要么 host 是 127.x.y.z 或者 localhost
目前还在改进中,还有一些功能在开发,比如转换后的请求也可以配置 proxy
欢迎大家提意见,球球给个 star 吧
<github.com/lisonge/vit…>