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

引言相信各位开发同学对设置项目代理接触得非常之多:新同事接手老项目时,需要从文档中找到代理规则或者询问熟悉的同事后再设置代理;在不同项目间切换时,需要在自己设置的不同规则间进行手动切换;代码执行结果与预期不同,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)


相关推荐

  • 绝不误人子弟!零基础应该选择学习Java、PHP,还是前端?[通俗易懂]

    绝不误人子弟!零基础应该选择学习Java、PHP,还是前端?[通俗易懂]上周,有读者私信我说,“二哥,零基础该选择Java还是PHP啊?”我瞬间就误了!PHP?世界上最好的编程语言?后来,又有读者私信问我,“挺纠结的,不知道该选前端还是Java?”真不好选,因为“男怕入错行,女怕嫁错郎”,初学者纠结这个问题也是情有可原。首先来说说PHP,Web蛮荒的年代,PHP真的是王者姿态,连Java可能都要礼让三分,但近些年,PHP只能做一些速成型的外包项目了,如果想增加更多的业务,想在性能上有所改善,PHP就真的很难了!所以,本着不误人子弟的原则,我

  • Python之数学(math)和随机数(random)

    math包包含了最基本的数学运算函数,如果想要更加高级的数学功能,可以使用标准库外的numpy和scipy库,他们不但支持数组和矩阵运算,还有丰富的数学和物理方程可供使用random包可以用来生成

    2021年12月18日
  • java8中的map与flatmap

    java8中的map与flatmap问题假如我们有这样一个需求给定单词列表[“Hello”,”World”],你想要返回列表[“H”,”e”,”l”,”o”,”W”,”r”,”d”],如果我们使用java实现这个需求,你会怎么实现呢?可能我们第一个想法是下面这种写法:words.stream().map(word->word.split(“”)).distinct().collect(toList());但是如果我们运行会发现这样的写法是不正确的,这个方法的问题在于,传递给map方法的Lambda为每个单词返回

  • android 自己定义通知栏遇到的问题「建议收藏」

    android 自己定义通知栏遇到的问题

  • 基于MATLAB的矩阵及元素赋值[通俗易懂]

    *内容摘要:该代码用于实现在MATLAB中矩阵及元素的赋值*文件标识:无*作者:*完成日期:2019-3-10*问题描述:给矩阵a赋值>>a=[147;258;369]a=147258369*问题描述:给矩阵全行赋予值…

  • Windows10下安装Git

    Windows10下安装GitGit是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。具体安装步骤如下:第一步:先从官网下载最新版本的Git官网地址:https://git-scm.com/downloads点击上图中表示的地方进行下载,得到Git-2.17.1.2-64-bit.exe文件。如果你的系统是32位的,可以通过如下方式下载:第二步:双击下载好的git安装包,弹出提示框,如下图:第三…

发表回复

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

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