我如何告诉 UI5 在哪里可以找到我的自定义模块?

How do I tell UI5 where to find my custom modules?

我有一个 UI5 应用程序,我在其中从 CDN 加载 UI5 框架,并且在我的应用程序文件夹的文件夹中有一个自定义模块。但是我的应用程序找不到我的自定义模块。 UI5 在框架源中搜索它。我如何告诉我的应用程序在哪里可以找到我的自定义模块?

我的项目结构如下所示:

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 {
    };

});

这是我在浏览器控制台中得到的错误:

实例:http://plnkr.co/edit/0qGeSUEhOvzk6ZKB?preview

当需要自己的模块时,您必须在依赖路径前添加已注册的 URL 前缀之一。

给定 this project structure 和 data-sap-ui-resourceroots='{"Quickstart": "./"}',可以这样要求模块:

sap.ui.require([
  "sap/ui/core/mvc/XMLView",
  "<strong>快速入门/</strong>我的模块",
]/*...*/);

PS: 当sap.ui.define定义一个模块时,依赖路径