在我的有角度的应用程序中,我使用的是由一些代理组成的代理配置文件。我的文件看起来像这样。
proxy.conf.json
{
"/login": {
"target": "http://w3:8080",
"changeOrigin":true,
"secure": false
},
"/api/usersvcs/*": {
"target": "http://w3:8080",
"pathRewrite": {"^/api/usersvcs": ""},
"secure": false,
"logLevel":"debug"
},
"/api/ordersvcs/*": {
"target": "http://w3:8989",
"pathRewrite": {"^/api/ordersvcs": ""},
"changeOrigin":true,
"secure": false,
"logLevel":"debug"
},
"/api/paymentsvcs/*": {
"target": "http://w3:9898",
"pathRewrite": {"^/api/paymentsvcs": ""},
"changeOrigin":true,
"secure": false,
"logLevel":"debug"
},
}
此文件位于我项目的根目录中(在 src 文件夹之外)。 每次需要与不同端口上托管的其他后端服务一起使用时,都需要更改目标参数。在上面的文件中,我正在使用 w3 ,然后是冒号后面的端口号。 如果要使用 w5 ,则必须更改整个路径目标。
{
"/login": {
"target": "http://w5:8080",
"changeOrigin":true,
"secure": false
},
"/api/usersvcs/*": {
"target": "http://w5:8080",
"pathRewrite": {"^/api/usersvcs": ""},
"secure": false,
"logLevel":"debug"
},
"/api/ordersvcs/*": {
"target": "http://w5:8989",
"pathRewrite": {"^/api/ordersvcs": ""},
"changeOrigin":true,
"secure": false,
"logLevel":"debug"
},
"/api/paymentsvcs/*": {
"target": "http://w5:9898",
"pathRewrite": {"^/api/paymentsvcs": ""},
"changeOrigin":true,
"secure": false,
"logLevel":"debug"
},
}
我正在使用npm start
命令,其中包含了proxy.conf.json
文件,该文件看起来像下面的package.json
"scripts":{
...
"start": "ng serve --proxy-config proxy.conf.json --o",
...
},
是否可以更改目标主机名,例如使用
npm start w5
然后代理文件应该类似于上面的文件,目标文件的w5。