点击上方蓝色“程序猿DD”,选择“设为星标”

回复“资源”获取独家整理的学习资料!

作者 | 李海庆

我是一个 Web 开发前端工程师,受到疫情影响,今天是我在家办公的第78天。开发了两周,今天就要开始前后端联调了。由于是远程办公,前后端联调没有在公司那么方便……

我遇到了这样 1 个问题

我们项目组的研发配比是一个前端对多个后端,后端并发开发,到跟前端联调的时候转为并行,几个后端同学都针对自己的服务都做了一个不同的服务部署,因为还没有到大家把代码最终合并,并且放到一个服务地址让前端联调的阶段,作为前端的我只能疯狂的、不停的切换代理……

2 个不太满意的解决方案

  • 方法 1:

利用现有的代理工具,比如 Charles,PostMan。chrome插件SwitchyOmega等,PostMan,SwitchyOmega更适合后端模拟发起请求测试自己的接口, Charles 比较全面,可以用来抓包,也可以用来做代理调试,但是配置起来相对复杂。或者熟悉 nginx 的同学可以用nginx做代理实现,但对于新手而言以上这些方式实现可调通代理的成本还是太高了。

  • 方法 2 :

设定多个代理配置,对应不同开发环境的时候进行切换,不过需要重新启动项目,还得自己写逻辑判断具体环境的差别。

这两个方法,对于我来说并不是最优解。如果在这种频繁出现的问题上,用那么多的时间进行代理配置,那真的绝望……

5分钟解决问题

我请教了一个阿里的前端大神,他推荐了 VScode 上的 Cloud Toolkit 插件(在 Marketplace 上直接搜索安装),Alibaba Cloud Toolkit 有一个 HTTP Proxy 代理功能,可以提供的以 HTTP 协议为主且在本地启动的正向代理服务器,帮助完成业务请求的代理转发。

常见的使用场景包括:

  • 隔离代码与环境,简化业务调试。Alibaba Cloud Toolkit 的 HTTP Proxy功能无需修改代码,便可将业务代码与环境隔离,将复杂的业务调试请求简化管理,大幅度提高了测试效率。

  • 一键切换不同代理配置 。在测试环境的代码中通常会添加通过代理进行请求转发的配置,但在产品发布时需要删除该配置,甚至涉及多套测试环境,致使本地测试再次启用比较繁琐。Alibaba Cloud Toolkit的HTTP Proxy功能支持保存历史的HTTP Proxy配置,即开即用,大幅度提升了测试环境复用率,降低资源成本。

  • 接入简洁,无需安装Nginx和Charles等代理工具,只需在Visual Studio Code中搜索Alibaba Cloud Toolkit插件并嵌入,就可实现前后端联调。

官网地址:https://cn.aliyun.com/product/cloudtoolkit

操作步骤

  1. 在Visual Studio Code左侧菜单栏中单击Alibaba Cloud Toolkit入口图标并展开TOOLKIT > HTTP Proxy。

  1. 在HTTP Proxy View页签单击Add Proxy。

  2. 在Add Proxy页面配置。

    1. 在Add Proxy页签通用配置。

      1. Name:HTTP Proxy配置的名称,例如:ACT系统测试。

      2. Target Server:需要代理的目标服务器,例如:http://aliyun.com 说明 支持HTTP和HTTPS两种网络协议。

      3. (可选)Header:添加的HTTP或者HTTPS协议的头部内容。

      4. (可选)Parameter:添加的请求参数内容,回车即可换行。

      5. (可选)Cookie:添加Cookie内容。

  3. 在Advanced进行监听端口、跳转机和跨域访问等高级配置。

    1. 监听端口:本地代理的访问端口,即代码访问的本地代理的端口;默认端口为18002,如果出现端口冲突,那么请修改此参数。

    2. (可选Agent Server:Agent服务器的IP地址。如果目标服务器必须通过域名访问,且每次需要修改Hosts文件,那么该设置项为域名所对应的IP地址。

    3. (可选)Access-Control-Allow-Origin:跨域访问开关,默认开启。当请求需要进行跨域转发时,可开启该开关。

    4. 单击OK

  4. 在HTTP Proxy View页签中的代理列表中,单击Actions列的开关开启代理功能。

HTTP Proxy配置启动后,可以单击Copy便捷的获取代理地址,进而进行访问。

说明 如果不需要使用该代理配置时,关闭HTTP Proxy开关,再次使用时开启开关就行了。

补充信息

  • 如果需要修改HTTP Proxy的配置信息,在HTTP Proxy View页面单击代理列表的Actions列中的Properties,并依据界面提示进行修改。

  • 如果需要删除创建的HTTP Proxy,在HTTP Proxy View页面单击代理列表的Actions列中的Remove。

一键部署插件 Cloud Toolkit

大家可以在各个IDE(IntelliJ,Goland,PyCharm,Eclipse,Visual Studio Code)搜索“Alibaba Cloud Toolkit”,即可安装。

相比传统的开发和部署模式,Cloud Toolkit 的所有能力均采用了嵌入到本地IDE的创新方式,这样能够最大限度的减少开发者在不同工具间切换的成本。在开发和部署这个环节上,Cloud Toolkit能够将原本每次7-8分钟的繁琐工作,大大缩短到20秒内,开发者可以非常方便的在IDE内,一键完成应用程序的部署工作。关于传统方案和Cloud Toolkit方案的对比,如下图所示:

此外,Cloud Toolkit还提供了大量云原生开发过程中的提效工具,还包括一些常用的功能,比如:

  • 本地 IDE 内项目一键部署到任意远程服务器

  • 本地 IDE 内项目一键部署到任意Kubernetes

  • 本地 IDE 内项目一键打包并推送Docker镜像到阿里云镜像仓库

  • 本地 IDE 内项目一键部署到阿里云ECS、EDAS、SAE 、Web+、小程序云和ACK

  • 内置 Terminal 终端

  • 文件上传器

  • 查看远程服务器运行时日志

  • 阿里云小程序开发工具

  • 阿里云函数计算开发工具

  • 内置 SQL 执行器

  • Apache Dubbo 和 Spring Cloud 框架项目模板&代码生成

  • 远程 Java 程序运行时诊断工具

  • 微服务远程调试

接下来,将从 “本地 IDE 内项目一键部署到任意远程服务器”为例,展开来介绍 Cloud Toolkit 如何通过创新的方法帮助开发者提升效率。

第一步:添加服务器

如上图所示,在菜单

Tools - Alibaba Cloud - Alibaba Cloud View - Host中打开机器视图界面,如下图:

点击右上角Add Host按钮,出现添加机器界面

第二步:开始部署

在 IntelliJ IDEA 中,鼠标右键项目工程名,在出现的菜单中点击Alibaba Cloud - Deploy to Host...之后,会出现如下所示部署窗口:

在 Deploy to Host 对话框设置部署参数,然后单击 Deploy,即可执行初次部署。

注:部署参数说明 File:部署文件的构建方式包含3种方式,分别是:

Maven Build:如果当前工程采用 Maven 构建,可以使用 Cloud Toolkit 直接构建并部署。

Gradle Build:如果当前工程采用 Gradle 构建,可以使用 Cloud Toolkit 直接构建并部署。

Upload File:如果当前工程并非采用 Maven 或 Gradle 构建,并且本地已经存在打包好的部署文件,可以选择并直接上传本地的部署文件。

Target Host:选择要部署的目标服务器。

Target Directory :输入在服务器上的部署路径,如 /root/tomcat/webapps。

After Deploy:输入应用启动命令,如 sh /root/restart.sh。表示在完成应用包的部署后,需要执行的命令 —— 对于 Java 程序而言,通常是一句 Tomcat 的启动命令。

往期推荐

Uber 开源 Piranha,可自动删除过时代码

大厂的 404 页面都长啥样?最后一个绝了...

如何快速让你的站点进入灰白哀悼模式?

这四个问题场景你会排查原因吗?

盘点:35 个 Java 代码优化魔鬼细节

扫一扫,关注我

一起学习,一起进步

用了这个 IDE 插件,5分钟解决前后端联调!相关推荐

  1. 5 分钟解决前后端联调问题,说一说前端代理这件事

    简介: 简洁,又能触达痛点的一站式前端代理解决方案,你值得拥有. 作者:寒斜 说到前端代理,相信每一个做过前后端联调的同学都有遇到过.当下涉及前后端工程项目的研发,主流模式一定是前后端的分离.它让前后 ...

  2. springmvc集成cas,并解决前后端分离情况

    2019独角兽企业重金招聘Python工程师标准>>> 1.最近项目需要集成已经存在的cas系统. 但是目前已集成的系统都是jsp.而我们项目是前后端分离开发(伪),没有分开部署. ...

  3. Java接口long类型精度丢失,解决前后端交互Long类型精度丢失问题

    雪花算法ID,对应的后端Long类型,前端number类型,它们的精度不一样,导致精度丢失 现象 雪花算法得到的ID较长,传到前端后,精度丢失 库中:23754851322302474 后端:2375 ...

  4. 解决前后端交互Long类型精度丢失的问题

    雪花算法ID,对应的后端Long类型,前端number类型,它们的精度不一样,导致精度丢失 文章目录 一.现象与分析 1.1. 现象 1.2. 分析 二.解决方案 2.1. 方法一单个注解 2.2. ...

  5. niginx反向代理解决前后端跨域问题

    1.代理和跨域 1.1 正向代理 1)用户希望代理服务器帮助其和要访问服务器之间实现通信,需要: a.用户IP报文的目的IP=代理服务器IP: b.用户报文端口号=代理服务器监听端口号: c.HTTP ...

  6. Vue整合nginx:(1)开发环境npm run dev下,通过nginx解决前后端分离造成的跨域问题

    Vue整合nginx:(1)开发环境npm run dev下,通过nginx解决前后端分离造成的跨域问题 参考文章: (1)Vue整合nginx:(1)开发环境npm run dev下,通过nginx ...

  7. Nginx完美解决前后端分离端口号不同导致的跨域问题

    Nginx完美解决前后端分离端口号不同导致的跨域问题 参考文章: (1)Nginx完美解决前后端分离端口号不同导致的跨域问题 (2)https://www.cnblogs.com/PyKK2019/p ...

  8. JWT(解决前后端分离和微服务的用户会话跟踪问题)

    这里写目录标题 JWT:解决前后端分离和微服务的用户会话跟踪问题 与传统sessio验证的区别: 基于 token 的鉴权机制 JWT的主要引用场景及优点 JWT的构成: JWT搭建 案例: JWT: ...

  9. SpringCloud(10)—— 国寿i动项目经验之(解决前后端跨域请求技术)

    国寿i动项目经验之(解决前后端跨域请求技术): 由于网段原因,导致前端js请求后端服务接口出现跨域,没法实现正常的请求,所以需要对请求进行跨域处理 引入jar: <!-- 解决前后端接口交互跨域 ...

最新文章

  1. RLC协议简单理解1-RLC报文格式
  2. Android实现退出提示的功能
  3. 使用java.util.concurrent包处理多线程
  4. 饼图的引导线怎么加_4步学会EXCEL复合条饼图制作方法,让统计结果更直观!
  5. 【COCOS CREATOR 系列教程之二】脚本开发篇事件监听、常用函数等示例整合
  6. 实例39:python
  7. 获取所有某格式文件到文件
  8. java获取主机mac_Java 如何获取主机的MAC地址
  9. 使用鸿蒙系统的家电厂商,除了华为外!谁还会用鸿蒙系统?米OV们不可能:这些巨头才会用...
  10. 温度转换的python程序_python学习阶段性小结
  11. matlab的控制系统仿真,MATLAB控制系统仿真教程
  12. 网页设计Web尺寸规范
  13. Ovito中多晶材料晶粒分析方法介绍
  14. OEM 13c 监控RAC部署
  15. Linux 系统中如何恢复已删除的文件?
  16. 80/20时间管理法则全面解析
  17. Pandas入门超详细教程,看了超简单
  18. springboot整合H+,基于summernote的富文本编辑器图片上传
  19. 安全测试找工作没有经验怎么办?
  20. Window10系统启动问题——无法启动问题

热门文章

  1. linux c 报错 warning: large integer implicitly truncated to unsigned type[-Woverflow]
  2. 操作系统识别工具 xprobe2 p0f 简介
  3. linux c 取消宏定义
  4. linux无文件渗透执行elf
  5. golang 赋值错误 no new variables on left side of :=
  6. python 动态修改 类和实例 的方法
  7. 使用sqlmap 绕过防火墙进行注入测试
  8. 虚拟键码和扫描码的区别
  9. Linux下互斥量与条件变量详细解析
  10. Java学习之字符串