博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用 线上环境 在 本地 调试代码
阅读量:6540 次
发布时间:2019-06-24

本文共 907 字,大约阅读时间需要 3 分钟。

为什么需要使用线上环境进行代码调试?

在日常的开发中,当接口文档出来的时候,前后端可以独立的进行开发,前端可以通过一些线上的mock工具模拟接口,调通页面,减少联调的时间。

但是在一些条件下,是需要利用线上的环境调试的:

  1. 后接口的数据有做了跨域的限制,或者接口需要线上的登录身份(cookie之类)
  2. 再或者已经部署上线的页面出bug了,线下开发没有具体环境调试不了等等。
  3. 其他一些利用线上环境调试更加方便的情景

当我们遇到这些问题时,简单的想法是:先在本地估摸着开发,然后再部署上去线上环境看下结果,然后再接着调试,再部署到线上看下结果......这样子极其繁琐和不方便。此时我们考虑一下,是否可以利用线上环境进行代码调试?

怎么做呢?

具体的想法就是,当我们登录进去线上环境时,线上环境会返回已经部署的代码,在这个过程中,我们可以利用抓包工具,把请求线上已经部署的代码请求给拦截下来,替换为本地代码文件返回给浏览器,只要替换的文件一一对应,线上的环境依旧可以正常跑通,因为这个过程对于浏览器来说,是透明的,所以我们就相当于把本地代码部署到线上环境了,就可以一边开发一边调试啦~

具体的操作就是:

  1. 登录进去线上环境
  2. 利用工具从中间抓包,拦截所要调试的代码请求,返回本地文件。

当然工具有很多种~这里用Fiddler作为例子~

具体实现

1. 找到要调试的线上代码所在文件

比如我要调试的是sureSign() 方法,先在控制台上定位到该方法所在的文件

2. 找到该文件资源所对应的请求

依旧是在控制台查找

3. 在Fiddler里面拦截该请求,并替换返回本地文件

这样子就已经让本地的文件,替代了远程的文件~可以在本地利用远程的环境调节啦啦啦~~

但是如果文件在框架(如vue + webpack)的打包之后,和其他文件有着关联,如果替换一个不起作用,那我们也可以整一个替换掉

先把index.html替换掉

再把js资源替换

这样子就行啦~

当然利用抓包还可以实现很多东西,这个也只是一个开发调试用的小技巧~

转载于:https://juejin.im/post/5cfe48ebe51d45106172109a

你可能感兴趣的文章
逆向输出回环数组
查看>>
自己动手,实现“你的名字”滤镜
查看>>
高清摄像头MIPI CSI2接口浅解【转】
查看>>
C# CancellationTokenSource和CancellationToken的实现
查看>>
PCIE BAR空间
查看>>
winform命名规范
查看>>
如何用数学课件制作工具画角平分线
查看>>
VS2015 中统计整个项目的代码行数
查看>>
Anaconda入门使用指南
查看>>
UWP控件与DataBind
查看>>
bash: php: command not found
查看>>
XVIII Open Cup named after E.V. Pankratiev. Eastern Grand Prix
查看>>
数据恢复软件如何换机使用?
查看>>
《高性能mysql》到手
查看>>
(转)关于如何学好游戏3D引擎编程的一些经验
查看>>
使用Kotlin为你的APP自定义一个统一的标题栏
查看>>
EF各版本增删查改及执行Sql语句
查看>>
拓扑排序
查看>>
jQGrid API
查看>>
Bzoj1758: [Wc2010]重建计划
查看>>