飞书内置浏览器里如何调试前端代码?
实现原理
飞书官网针对【在公司内网环境下,如何确保飞书正常使用?】问题给出了两个解决方案:
- 使用系统代理
- 使用 HTTP 代理
这里我们采用第一种,即使用系统代理方式。
原理:在代理工具里配置远程映射(map remote),将请求进行重定向,然后用重定向后的内容来响应请求的内容。再开启飞书的代理模式,同步当前的代理设置,使得飞书能够同步此映射关系。
实现步骤
step1-飞书客户端进行网络配置,使用系统代理
飞书客户端退出登录后在登陆界面进行网络设置:
step2-设置浏览器代理的代理设置
这里需要一个代理工具,比如Proxyman。
根据所需进行配置,比如是前端+api全都走本地? 还是 前端走本地,api服务走线上?下面进行了后者的配置例子。
如果需要达到前端工程是本地的,而api服务是线上的,则进行如下配置:
test.cn/main* → 本地ip
这里的意思是:map from test.cn/main*
to localhost:3000
——当进入项目应用之后,访问test.cn/main时会请求入口文件index.html,这个入口文件通过代理会重定向至本地的,而在本地的前端项目,就会去加载js、css等资源文件,这个资源文件路径是/static
,所以有了下一行的map配置。
test.cn/static* → 本地ip
这样的话,当进入项目应用之后,访问test.cn/mian时会请求入口文件index.html,并加载其中插入的js、css等静态资源。而请求/api/v1时还是请求的线上服务。
step3-调试工具模拟浏览器控制台
这里需要一个工具,模拟出现浏览器控制台。 比如eruda-npm,它有利于在手机端、第三方应用内置浏览器调试,模拟控制台。
直接在前端项目的入口文件index.html里引入:
<script src="<https://cdn.jsdelivr.net/npm/eruda>"></script> <script>eruda.init();</script> 复制代码
以上步骤完成之后,前端更新代码,在飞书内置浏览器里也就可以看到实时更新的网页了。
移动端、其他第三方应用内置浏览器里如何调试前端代码?
在移动端调试比在飞书内置浏览器里调试更加简单,只需要跳过前两步,使用第三步骤即可。