Как мне сказать UI5, где найти мои пользовательские модули? - PullRequest
1 голос
/ 29 марта 2020

У меня есть приложение UI5, где я загружаю инфраструктуру UI5 из CDN и где у меня есть пользовательский модуль в папке file моей папки приложения. Но мое приложение не находит мой пользовательский модуль. UI5 ищет его в источнике фреймворка. Как я могу сообщить своему приложению, где найти мои пользовательские модули?

Структура моего проекта выглядит следующим образом:

Project structure

Код index.html выглядит следующим образом:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Quickstart</title>
    <script id="sap-ui-bootstrap"
        src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js"
        data-sap-ui-theme="sap_belize"
        data-sap-ui-libs="sap.m, sap.ui.layout, sap.tnt"
        data-sap-ui-resourceroots='{"Quickstart": "./"}'
        data-sap-ui-async="true">
    </script>
    <script>
        sap.ui.getCore().attachInit(function () {
            sap.ui.require([
                "sap/ui/core/mvc/XMLView",
                "MyModule"
            ], function (XMLView, MyModule) {
                XMLView.create({viewName: "Quickstart.App"}).then(function (oView) {
                    oView.placeAt("content");
                });
            });
        });
    </script>
</head>
<body class="sapUiBody" id="content"></body>
</html>

И MyModule.js определяется следующим образом:

sap.ui.define([], function () {
    "use strict";

    return {
    };

});

И это ошибка, которую я получаю в консоли браузера:

Browser console errors

Live Пример: http://plnkr.co/edit/0qGeSUEhOvzk6ZKB?preview

1 Ответ

2 голосов
/ 30 марта 2020

Когда требуются собственные модули, вы должны префиксить путь зависимости с одним из зарегистрированных префиксов URL.

Учитывая структуру этого проекта и data-sap-ui-resourceroots='{"Quickstart": "./"}', модуль может быть требуется вот так:

sap.ui.require([
  "sap/ui/core/mvc/XMLView",
  "<strong>Quickstart/</strong>MyModule",
]/*...*/);

PS: Когда определяет модуль с sap.ui.define, путь зависимости может быть относительным.

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