使用模拟数据作为Web应用程序运行SAP Fiori应用程序

时间:2016-04-22 07:48:18

标签: sap sapui5 sap-fiori

为了在我的WebIDE中测试应用,我计划使用我已创建的模拟数据。但遗憾的是,我无法使用模拟数据运行我的应用程序。 我根据此file和此question

创建了一个index.html

但是当我启动我的应用程序时,我只看到一个较浅的蓝色背景而没有别的。我的控制台充满了错误,他无法找到许多已用资源。 我没有使用任何自定义库,我使用的所有东西都没有包含在内。

这些是控制台中的错误:

XMLHttpRequest无法加载ComponentBase.js。 No' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' webide-link'因此不允许访问。响应的HTTP状态代码为404.

未捕获错误:无法加载&u; / s2p / srm / sourcingcockpit / Component.js'来自./Component.js:错误:无法加载' sap / ca /​​ scfld / md / ComponentBase.js'来自https://openui5.hana.ondemand.com/resources/sap/ca/scfld/md/ComponentBase.js:0 - NetworkError:无法执行'发送' on' XMLHttpRequest':无法加载

一个错误很奇怪: 尽管它存在,JS-library sinon.js仍然无法找到。

更新:我的index.html(保存在应用的root-dir中):

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta charset="utf-8">
    <title>SAPUI5 App</title>
    <script
        id="sap-ui-bootstrap"
        src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js"
        data-sap-ui-theme="sap_bluecrystal"
        data-sap-ui-libs="sap.m"
        data-sap-ui-bindingSyntax="complex"
        data-sap-ui-compatVersion="edge"
        data-sap-ui-preload="async"
        data-sap-ui-resourceroots='{
                "namespace": "./"
            }'>
    </script>
    <script>
        sap.ui.getCore().attachInit(function () {
            new sap.m.Shell({
                app: new sap.ui.core.ComponentContainer({
                    name: "namespace"
                })
            }).placeAt("content");
        });
    </script>
</head>
<body class="sapUiBody" id="content">
</body>
</html>

更新2 :我尝试将此内容添加到我的neo-app.json中,但我真的不知道如何格式化Component.js的路径

{
        "path": "/Component.js",
        "target": {
            "type": "service",
            "name": "sapui5",
            "entryPath": "/ui/s2p/srm/sourcingcockpit/"
        },
        "description": "Component Resource"
 }

更新3 :我试图在没有模拟服务器的情况下运行应用程序,我总是得到sap-ui-core.js无法找到的错误。但是当我打开无法找到给定链接的文件时,我可以看到sap-ui-core.js。

1 个答案:

答案 0 :(得分:0)

从第二个错误中,您可以看到它正在尝试从无法找到的OpenUI5 CDN加载ui/s2p/srm/sourcingcockpit/Component.js
我假设,该文件属于您的应用,因此您应该将该位置添加到resourceroots

在您发布的index.html中,将"namespace"替换为您正在使用的命名空间。