点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
SAPUI5支持者
存在应用描述符文件(neo-app.json)以在SAP Cloud Platform环境中配置SAPUI5-App。 我们使用neo-app.json访问其他SAPUI5-App(App A从App B和App C访问资源):
{ ... "路线":[ ... { " path":"/img/external/appB", "目标":{ " type":"应用程序", " name":" appB", " entryPath":"/文件夹" }, "描述":" App B" }, { " path":"/img/external/appC", "目标":{ " type":"应用程序", " name":" appC", " entryPath":"" }, "描述":" App C" }, ... }
对于App B,当我们调用jquery.sap.registerModulePath(API )。
当前,我们正在将这些应用程序部署在OnPremise系统上。 我们实施了一种算法来确定代码是在CP还是OnPremise中运行。
jQuery.example = { makeModulePath:function(oParams){ 如果(!oParams.sEmbeddingNamespace ||!oParams.sCloudModulePath ||!oParams.sOnPremiseAppName){ 抛出新的错误("缺少配置!sEmbeddingNamespace,sCloudModulePath和sOnPremiseAppName是必需的。"); } var sResult; var sPath = window.location.pathname; var iUI5Offset = -1; 如果((iUI5Offset = sPath.indexOf("/img/ui5_ui5/"))!== -1){ //我们最有可能是前提 var sModulePath = sPath.substring(0,iUI5Offset +"/ui5_ui5".length); sResult = sModulePath + oParams.sOnPremiseAppName; }其他{ //我们最有可能在云环境中 sModulePath = jQuery.sap.getModulePath(oParams.sEmbeddingNamespace); 如果(sModulePath ==="。"){ sResult = oParams.sCloudModulePath; }其他{ sResult = sModulePath + oParams.sCloudModulePath; } } 返回sResult; }, registerModule:function(oParams){ jQuery.sap.registerModulePath(oParams.sModuleName,jQuery.example.makeModulePath(oParams)); } }; jQuery.example.registerModule({ sModuleName:" name.space.appB", sEmbeddingNamespace:" name.space.appA", sCloudModulePath:"/img/external/appB", sOnPremiseAppName:"/命名空间/appB" }); jQuery.example.registerModule({ sModuleName:" name.space.appC", sEmbeddingNamespace:" name.space.appA", sCloudModulePath:"/img/external/appC", sOnPremiseAppName:"/命名空间/appC" });
启动App A时,从App C到资源的路径已正确解析。 应用程序B的那些不是,应用程序A崩溃。 看来,这种情况下没有用于定义entryPath的应用程序描述符文件。
我们如何在CP中以相同的方式访问SAPUI5资源?
在此先感谢和问候,
基督徒。
您的问题是什么?
嗨,Jun
我添加了代码段,并插入了一个示例App C,其中没有可正确解决其资源的entryPath。
最诚挚的问候,
基督徒。
一周热门 更多>