一键轻松设置项目代理「建议收藏」

引言相信各位开发同学对设置项目代理接触得非常之多:新同事接手老项目时,需要从文档中找到代理规则或者询问熟悉的同事后再设置代理;在不同项目间切换时,需要在自己设置的不同规则间进行手动切换;代码执行结果与预期不同,debug许久发现是因为代理规则设置有问题;同一个项目,团队内不同的人设置的代理规则五花八门,差异不小;…本应专注于项目的开发,却在配置代理上浪费时间,耗费精力!为…

大家好,又见面了,我是你们的朋友全栈君。

引言

相信各位开发同学对设置项目代理接触得非常之多:

  • 新同事接手老项目时,需要从文档中找到代理规则或者询问熟悉的同事后再设置代理;
  • 在不同项目间切换时,需要在自己设置的不同规则间进行手动切换;
  • 代码执行结果与预期不同,debug 许久发现是因为代理规则设置有问题;
  • 同一个项目,团队内不同的人设置的代理规则五花八门,差异不小;

本应专注于项目的开发,却在配置代理上浪费时间,耗费精力!

为了解决这个问题,whistle 1.12 版本带来了新功能,只需一键即可轻松设置项目代理。

本文假设已安装 whistle(基于 node.js 的代理工具),若未安装,请参考 安装指引

一键设置代理

对于已接入的项目(接入方法),开发者只需要通过 w2 add 即可配置项目代理,从而着手于项目开发:

  1. 在项目根目录下执行 w2 add 设置项目代理规则
  2. 将浏览器代理设置为 whistle 监听地址 127.0.0.1:8899(若已设置可以跳过此步)
  3. 打开项目连接检查代理是否设置成功。

w2 add [filepath] 命令中 filepath 为规则配置文件的路径,可选参数,默认为当前目录的 .whistle.js 文件。

接入方法

在项目根目录下新建 .whistle.js 文件,用 webpack 构建的项目可简单配置如下:

exports.name = '【本地环境】react-project';
exports.rules = ` ke.qq.com/react-project http://localhost:7474 ke.qq.com/cgi-bin ignore://http # CGI 走线网,不进行代理 `;
复制代码

.whistle.js 文件的导出需满足:

{
    name, // string 类型,显示在 whistle GUI 界面的规则名
    rules, // string 类型,项目代理规则
}
复制代码

在该目录下执行命令 w2 add 时,如果本地 whistle 里没有同名规则则会创建一个并自动启用,如果存在则会提醒:

The rule already exists, to override it, you must add CLI option --force.
复制代码

可以通过 w2 add --force 强制覆盖当前同名规则。

上述介绍的接入方法是将不同项目的代理规则放置于各自代码的根目录下,也可以将不同项目的代理规则进行线上集中管理,然后通过 .whistle.js 发送网络请求异步获取:

const assert = require('assert);
const pkg = require('./package.json');

module.exports = (cb, util) => {
  // 如果依赖插件,可以检查插件
  assert(util.existsPlugin('whistle.combo'), '请先安装插件npm i -g whisltle.combo');

  // 异步获取远程规则
  request('http://example.com/proxy-rules?name=awosome-project').then((result) => {
    cb({
      name: '【本地环境】awosome-project',
      rules: result.rules, // 异步拉取的项目代理规则
    });
  });
};
复制代码
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/129129.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • SpringBoot异步调用

    SpringBoot异步调用除了异步请求,一般上我们用的比较多的应该是异步调用。通常在开发过程中,会遇到一个方法是和实际业务无关的,没有紧密性的。比如记录日志信息等业务。这个时候正常就是启一个新线程去做一些业务处理,让主线程异步的执行其他业务。何为异步调用说异步调用前,我们说说它对应的同步调用。通常开发过程中,一般上我们都是同步调用,即:程序按定义的顺序依次执行的过程,每一行代码执行过程必须等待上一行代码执行完毕后才…

  • 微信小程序转二维码教程_小程序码转换成二维码

    微信小程序转二维码教程_小程序码转换成二维码微信小程序转二维码方法分享需要转码的可以看看这个东西是看个人需求的,618就要来了,各种活动也将来袭为了方便小程序邀请活动没法外发,这里分享下将小程序转二维码的方法首先,你需要在电脑上打开https://mp.weixin.qq.com注册一个个人微信订阅号,其次,登陆微信电脑版,微信号关注你注册的订阅号,这是重点注册好了,接下来就是详细步骤1首页-新建群发-选择自建图文-最上边点小程序2选择你要转码的小程序名字或者微信号如“来客有礼”,点下一步3点击“获取更多页

  • 公司测试环境k8s节点故障解决

    公司测试环境k8s节点故障解决

  • MCDEX 与 Celer cBridge 达成合作,将更多用户带向以太坊二层

    MCDEX 与 Celer cBridge 达成合作,将更多用户带向以太坊二层我们很高兴地宣布,MCDEX已与Celer达成合作并集成了cBridge,让用户能够以更低的成本和延迟在部署于Arbitrumrollup上的MCDEX中桥接来自其他一层链和以太坊二层的资产。CelercBridge还允许MCDEX用户跳过Arbitrum的7天等待期,以提高DeFi流动性及交易效率,进一步推动对MCDEX的采用。用户现可通过MCDEX上的集成链接访问cBridge。此外,cBridge还将支持MCDEX的治理代币MCB从Arbitrum到以太坊的跨链快速提…

  • SpringBoot防止大量请求攻击

    SpringBoot防止大量请求攻击我们使用Jmeter测试同学的网站时,就会出现网站无法访问,403等错误。Anerroroccurred.Sorry,thepageyouarelookingforiscurrentlyunavailable.Pleasetryagainlater.Ifyouarethesystemadministratorofthisresourcethenyoushouldchecktheerrorlogfordetails.Faithfull

  • Potplayer + LAVFilters + madVR 配置教程

    Potplayer + LAVFilters + madVR 配置教程文章目录Potplayer+LAVFilters+madVR配置教程工具安装篇设置调教1.potplayer播放器设置加载LAVFilters和madVR1.选择“源滤镜/分离器”选项,选择“滤镜/解码器管理”2.“添加外部滤镜”3.浏览到刚才LAVFilters解压的文件夹,分别添加图示项。4.添加后回到管理界面设置,点击左边的”LAVAudioDecoder”,将右边”音频解码器”…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号