我正在使用一个有角度的应用程序,必须在android应用程序中进行构建/部署。所以我为此使用了科尔多瓦。我是怎么做到的...
ng build --prod
dist
文件夹中的所有文件复制到cordova项目的www
文件夹中cordova run android
这对我所有的项目都很好。但是我在使用代理配置文件的项目之一中遇到了问题。
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"
},
}
在这个应用程序中,我对看起来像这样的网址有http请求
this.http.get('/api/usersvcs/getAllUsers').subscribe(response => {...});
当我使用代理配置文件时,实际到达服务器的网址是
http://w3:8989/getAllUsers
这是由于代理配置文件中的pathRewrite
参数引起的。
现在我应该在我的cordova项目中做些什么,这将有助于我像在angular中一样进行代理。现在,在我的同一个角度项目的android应用程序中,什么都没起作用。
我的cordova应用程序 config.xml 看起来像这样
<?xml version='1.0' encoding='utf-8'?>
<widget id="io.cordova.veta" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>Veta</name>
<description>
Veta Application
</description>
<author email="dev@cordova.apache.org" href="http://cordova.io">
Apache Cordova Team
</author>
<content src="index.html" />
<plugin name="cordova-plugin-whitelist" spec="1" />
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
<engine name="browser" spec="^5.0.4" />
<engine name="android" spec="^7.1.4" />
</widget>