【发布时间】:2019-04-04 11:41:59
【问题描述】:
我对 ionic 和 Angular 有点陌生,我正在尝试弄清楚如何在绕过 CORS 的同时向远程服务器发送一个简单的 HTTP 请求。我最初的解决方案是这样做:
this.httpClient.get<MyObj>("/api");
然后我用这个内容创建了一个proxy.config.json:
{
"/api": {
"target": "http://real-remote-host/",
"changeOrigin": true,
"secure": false,
"pathRewrite": {
"^/api": ""
}
}
}
当我在做ng serve 时,这很有效。但是,我使用 ionic cordova build android 构建了一个 android APK,然后这段代码不再有效。似乎代理仅在通过serve 命令运行时才有效,而不是通过build 命令运行。我肯定会遗漏一些东西,因为一个简单的 HTTP 请求不可能这么难。
另外,远程主机不能更改,所以请不要建议更改为允许远程主机的CORS。
【问题讨论】:
-
没错,代理是 webpack 开发服务器的一部分(参见 the docs),而不是生产构建输出的一部分。
-
好的,所以我可以放弃 proxy.config.json 解决方案,因为它不适用于生产构建。有其他选择吗?