добавление функции проксирования так же, как угловое в приложении Cordova - PullRequest
0 голосов
/ 03 апреля 2019

У меня угловое приложение, которое я должен собрать / развернуть в приложении для Android. Так что для этого я использую Cordova для этого. Как я это сделал ...

  1. Сделал сборку угловых апдейтов. ng build --prod
  2. Создан отдельный кордовый проект.
  3. Добавлен Android в качестве платформы.
  4. Скопировал все файлы из папки dist углового проекта в папку www проекта cordova
  5. 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...