如何通过http-proxy-middleware的Vue配置使用本地API和远程API后端?

时间:2019-08-01 13:27:06

标签: vue.js http-proxy-middleware

我正在努力为本地和远程后端服务满足CORS 我在开发模式下运行的单个Vue应用。

我有一个本地后端在运行:

class

和运行在以下位置的远程服务:

"]"

var myObj = {lhs: 3, rhs: 2}; var myFunc = function(){} var myString = "This is a sample String"; var myNumber = 4; var myArray = [2, 3, 5]; var myUndefined = undefined; var myNull = null; Object.prototype.toString.call(myObj); // "[object Object]" Object.prototype.toString.call(myFunc); // "[object Function]" Object.prototype.toString.call(myString); // "[object String]" Object.prototype.toString.call(myNumber); // "[object Number]" Object.prototype.toString.call(myArray); // "[object Array]" Object.prototype.toString.call(myUndefined); // "[object Undefined]" Object.prototype.toString.call(myNull); // "[object Null]" 配置如下:

http://localhost:8600

对本地主机服务的请求以http://service.mydomain.com/的形式发送,路径的vue.config.js部分被正确重写,请求成功。

但是,远程API不起作用:

module.exports = {
  devServer: {
    proxy: {
      "^/bma": {
        target: "http://localhost:8600",
        changeOrigin: true,
        pathRewrite: { "/bma": "" },
        ws: true
      },
      "^/service": {
        target: "https://service.mydomain.com",
        changeOrigin: true,
        pathRewrite: { "/service": "" }
      }
    }
  }
};

根本没有任何代理配置(完全取消了使用http-proxy-middleware的使用)可以修复远程API,但是显然localhost API开始失败。

如果我完全删除“ ^ / service”部分,为什么请求仍被代理?为什么它的行为好像没有使用http-proxy-middleware?

0 个答案:

没有答案