запуск того же приложения UI5 локально и в WebIDE, с реальными и mockdata

#sapui5

#sapui5

Вопрос:

Чего я пытаюсь достичь: общая кодовая база, которая может выполняться без изменений как при локальной установке, так и в WebIDE, как с реальным бэкэндом, так и с mockdata. В основном потому, что я действительно предпочитаю VSC в качестве редактора. Само приложение представляет собой простой список материалов и описаний, единый вид, ничего особенного.

Где я нахожусь:

  • локальная: настройка работает нормально, как с mockdata, так и с реальным бэкэндом, используя cors-anywhere в качестве прокси.
  • WebIDE: работает только при запуске как «Панель запуска SAP Fiori», указывающая непосредственно на Component.js чтобы получить доступ к реальному бэкэнду; не повезло запустить его с помощью «веб-приложения», используя index.html или test/mockServer.html (они не загружаются, sap-ui-core не найден) и нет mockdata (см. Ниже).

Покопавшись, я обнаружил, что:

  • что касается WebIDE, мне не нужно было явно клонировать index.html чтобы test/mockServer.html и я мог бы просто настроить его, чтобы предоставить mockdata с параметром конфигурации, хотя в моем случае это не работает: введите описание изображения здесь

  • мой mockserver rootUri не является относительным, потому что я должен был сопоставить URL прокси в manifest.json

       "dataSources": {
        "ProductRemote": {
          "uri": "http://localhost:8081/http://10.0.98.194:8017/sap/opu/odata/sap/ZDEMO_FIORI_ABO_SRV/",
          "type": "OData",
          "settings": {
            "odataVersion": "2.0"
          }
        }
      }
      

для этого в uimodule/webapp/localService/mockserver.js:

 rootUri: "http://localhost:8081/http://10.0.98.194:8017/sap/opu/odata/sap/ZDEMO_FIORI_ABO_SRV/"
  

Вот другие соответствующие фрагменты:

index.html

index.html

test/mockServer.html

test/mockServer.html

neo-app.json

neo-app.json

Где мне нужна помощь: оставляя в стороне, почему опция запуска «веб-приложения» не работает, я хотел бы понять, как я мог бы настроить код таким образом, чтобы прокси cors корректно вызывался при локальной установке, но неявная опция mockdata в WebIDE работает.

Комментарии:

1. afaik, «Запуск с mockdata» вводит скрипт в ваш index.html и не использует mockserver.js . Вы что-нибудь изменили в этом файле?

2. Вы правы: WebIDE не полагается на настраиваемый test/mockServer.html но вводит скрипт. Это в основном похоже на это, с небольшими изменениями: github.com/AndreaBorgia-Abo/tutorial_openui5/blob/master /…

3. Кроме того, WebIDE может запускать мое приложение только напрямую через Components.js итак index.html находится вне поля зрения.