У меня угловое приложение, которое я должен собрать / развернуть в приложении для Android. Так что для этого я использую Cordova для этого. Как я это сделал ...
- Сделал сборку угловых апдейтов.
ng build --prod
- Создан отдельный кордовый проект.
- Добавлен Android в качестве платформы.
- Скопировал все файлы из папки
dist
углового проекта в папку www
проекта cordova
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-запросы на URL, которые выглядят как
this.http.get('/api/usersvcs/getAllUsers').subscribe(response => {...});
Когда я использую файл конфигурации прокси, фактический URL, который попадает на сервер, равен
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>