BrowserSync代理到两个后端端口

时间:2016-04-28 09:45:42

标签: gulp browser-sync

使用gulp我有:

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

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

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

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

由于

1 个答案:

答案 0 :(得分:1)

基于此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的请求(默认的browsersync端口)都代理到8080,但如果请求的任何路径以/api开头,那么它将转到http://localhost:1212/api < / p>