根据这种方式,我们可以将前端启动起来的页面api请求代理到我们想要的server。
在根目录文件夹下新建 proxy.conf.json文件,内容如下:
{
"/api": {
//访问以/api开头的接口,以下是要访问的端口
"target": "http://localhost:8000"
},
"/list": {
"target": "http://localhost:8081"
}
}
比较全的写法
{
"/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之下的,当然也不会进行转换了。
网友评论