BrowserSync 代理到两个后端端口

BrowserSync proxy to two backend ports

使用 gulp 我有:

browserSync.init({
  proxy: "localhost:8080",
  open: false
});

这允许我转到 http://localhost:3000 并且请求转到端口 8080 上的后端。

现在我的应用程序分为两个后端,所以我的应用程序一部分在端口 8080 上,另一部分在端口 1212 上

我如何告诉 browsersync 代理 http://localhost:3000/module1 到端口 1212 以及其他任何东西 http://localhost:3000/* 到端口 8080?

谢谢

基于此 answer 我可以做一个小改动并使用以下方法修复了这个问题:

  var url = require('url');
  var proxy = require('proxy-middleware');
  var proxyOptions = url.parse('http://localhost:1212/api');
  proxyOptions.route = '/api';
  browserSync.init({
    proxy: {
        target: "localhost:8080",
        middleware: proxy(proxyOptions)
    },
    open: false
  });

这意味着所有请求都将发送到 http://localhost:3000 (default browsersync port) are proxied to 8080, but if any path of the request starts with /api, then it goes to http://localhost:1212/api