angular2+跨域配置

作者: avery1 | 来源:发表于2019-07-01 11:44 被阅读14次

    根据这种方式,我们可以将前端启动起来的页面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+跨域配置

        本文链接:https://www.haomeiwen.com/subject/ocfgcctx.html