Загрузка library.js с неверного пути - PullRequest
2 голосов
/ 03 мая 2019

Я обновил OpenUI5 моего проекта с 1.42.7 до 1.60.12 (LTS)

Если я пытаюсь запустить приложение с новой версией, у меня появляется эта ошибка:

Uncaught Ошибка: не удалось загрузить 'sap / ui / core / library.js' из ресурсов / sap / ui / core / library.js: 404 - не найден **

error

Древовидная структура моего проекта содержит файлы OpenUI5 в resources/openui путь:

current project folder structure

Inindex.html, я установил src в этом режиме:

<script id="sap-ui-bootstrap"
  src="resources/openui/sap-ui-core.js"
  data-sap-ui-theme="sap_belize"
  data-sap-ui-xx-bindingSyntax="complex"
  data-sap-ui-libs="sap.m"
  data-sap-ui-preload=""
  data-sap-ui-resourceroots='{
    "ui5bp": "./",
    "model": "./model"
  }'
></script>

Кажется, что первый вызов sap-ui-core.js заканчивается правильно (из Webcontent/resources<strong>/openui</strong>), но затем вызывается вызов library.jsс Webcontent/resources/, а не с Webcontent/resources/openui.

В версии 1.42 все работает нормально.
Примечание: если я пытаюсь извлечь ресурсы OpenUI5 из CDN, все работает нормально ...

src="https://openui5.hana.ondemand.com/1.60.12/resources/sap-ui-core.js"

1 Ответ

3 голосов
/ 09 мая 2019

Вариант 1 (рекомендуется)

Перемещение ресурсов UI5 в папку resources непосредственно под ним.

˅ ?resources
  ˃ <s>?openui</s>
  ˅ ?sap
    ˃ ?base
    ˃ ?f
    ˃ ?m
    ...
  ...
  sap-ui-core.js

В соответствии с темой Начальная загрузка: загрузка иИнициализация - процесс инициализации , UI5 попытается извлечь ресурсы библиотеки по следующему пути по умолчанию:

Файл начальной загрузки библиотеки /<context-path><strong>/resources/<library-name></strong>/library(-preload).js

Имеяотклоняющийся путь (/resources/<strong>openui/</strong><library-name>/ между) делает выборку библиотечных файлов несовместимой с настройками по умолчанию.

Вариант 2 (без изменения структуры папки)

Определение нового базового URL по умолчанию в index.html как можно раньше.Например, через глобальный объект конфигурации :

<script>
  window["sap-ui-config"] = {
    resourceRoots: {
      "": "./resources/openui/", // <-- new base URL
      "ui5bp": "./",
      // ...
    },
    libs: "sap.ui.core, sap.m",
    async: true,
    theme: "sap_belize",
    compatVersion: "edge",
    // ...
  };
</script>
<script id="sap-ui-bootstrap" src="resources/openui/sap-ui-core.js"></script>

Этот тоже работает, так как разрешение "" всегда будет работать как запасной вариант

Обратите внимание, что пустой префикс ("") всегда будет совпадать и, таким образом, будет использоваться в качестве запасного варианта для любого поиска. источник

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...