angular2+跨域配置

根据这种方式,我们可以将前端启动起来的页面api请求代理到我们想要的server。

在根目录文件夹下新建 proxy.conf.json文件,内容如下:

{

  "/api": {

  //访问以/api开头的接口,以下是要访问的端口

    "target": "http://localhost:8000"

  },

  "/list": {

    "target": "http://localhost:8081"

  }

}

stories proxy

比较全的写法

{

  "/service/api/v1/_es/marketplace/apps/_search": {

    "target": "http://localhost:9200",

    "pathRewrite": {"^/service/api/v1/_es": ""},

    "secure": false,

    "logLevel": "debug",

    "changeOrigin": true

  },

  "/service/api/*": {

    "target": "http://localhost:9000",

    "secure": false,

    "logLevel": "debug",

    "changeOrigin": true

  }

}

然后在package.json里配置启动方式


也可以直接启动利用命令。又多个的时候就像第一部分一样,多个Object对象用逗号分隔就可以了。

注意这样的多个命令代理执行是从上到下的,如果有的请求符合多个,那么就会先进行上面的代理转换。比如上面第二块代码里的,。如果两个位置换一个,那么search的就不会按照我们想的进行转换了。

还有就是注意不要重复转换,比如我们在environment.ts里已经将api的url进行转换了,那么这里只会转换我们启动的域名之下的api请求。

例如我们的客户端为localhost:4200. 我们在environment.ts里已经将api的请求地址改为了http://localhost:9000那么在这里遇到的就是9000的请求而不是4200之下的,当然也不会进行转换了。

你可能感兴趣的:(angular2+跨域配置)