如何在Cloud Foundry的Fiori启动板中使用自定义控件

时间:2017-11-15 10:39:49

标签: sapui5 sap-fiori

当我在Cloud Foundry的Fiori启动板中将Monitor应用程序部署为SAPUI5应用程序时,我遇到了一个错误:

  

404未找到:   https://sapui5.hana.ondemand.com/resources/sap/ui/iot/controls/IoTChart.js

我在FLP中的配置:

/xs-app.json:

{
  "source": "^/resources/sap/ui/iot/(.*)$",
  "destination": "IOTAS_CONTROLS",
  "target": "/sap/ui/iot/$1"
}

/mtad.yaml

modules:
    requires:
      - name: IOTAS_CONTROLS
        group: destinations
        properties:
        forwardAuthToken: true
        strictSSL: false
        name: IOTAS_CONTROLS
        url: ~{url}
resources:
  - name: IOTAS_CONTROLS
    properties:
    url: https://sapuiiot-sb.cfapps.sap.hana.ondemand.com

/Main.view.xml

     <mvc:View
            controllerName="monitor.controller.Main"
            xmlns:iot="sap.ui.iot.controls"
            xmlns:iotele="sap.ui.iot.elements"
          xmlns:action="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
            displayBlock="false">
            <iot:IoTChart noOfHours="1" headerTitle="Temperature &amp; Gas Volume" subheaderTitle="Unit: Degree &amp; M3"/>

我试过阅读&#34; https://xxx-flp-sandbox.cfapps.sap.hana.ondemand.com/resources/sap/ui/iot/controls/IoTChart.js&#34;在Controller.js中,它被重定向到&#34; https://sapuiiot-sb.cfapps.sap.hana.ondemand.com/sap/ui/iot/controls/IoTChart.js&#34;成功,证明了xs-app.json中的路线。

所以我的问题是,似乎在XML View中需要sap.ui.iot.controls,它总是会在xs-app.js中使用域名https://sapui5.hana.ondemand.com调用而没有传递路由。

此项目在webIDE中成功运行,因为在neo-app.json中,它定义了一个路由,该路由重定向所有/resource/,请求始终在webIDE主机中,但在云代工厂中,它位于{{ 1}}主持人

有任何建议吗?

试过:

sapui5.hana.ondemand

1 个答案:

答案 0 :(得分:0)

通过在Component.js中添加一行来解决:

init : function() {
    jQuery.sap.registerModulePath("sap.ui.iot", "../../../../resources/sap/ui/iot");
}

此外,&#34; sap.ui.iot&#34;仍然无法在rootView.view.xml中声明,因为到那时,路径未注册。但new sap.ui.controls.IoTChart()可用于控制器