具有多组件的缓存克星-SAPUI5

2020-09-01 17:38发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我目前正在开发一个供...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我目前正在开发一个供多人使用的应用程序,它包含我开发的其他项目的多个组件。 当我进行更改并将其部署到ABAP存储库时,除非手动在浏览器中手动重置缓存,否则更改不会发生。 这是一个问题,因为我不希望用户在整个应用程序生命周期中每次进行更新时都重置其缓存。

主项目确实重置其缓存,但是项目内部的多个组件不会在每次刷新应用程序时重置缓存。 我在下面为主要项目和多个组件之一提供了代码。

我已将SRC更改为"/resources/sap-ui-cachebuster/sap-ui-core.js"和" resources/sap-ui-core.js"
但是它给了我一个"组件" 无法实例化"错误

主要项目-index.html

 
 

提前谢谢!

Sunil。

5条回答
大简至美
2020-09-01 18:02

您好 Sunil rajshakha

现在我对您有一些了解 问题。 第一件事是,如果您使用registerModulePath,那么cachebuster就会出现问题。 您需要为所有组件显式设置它,我3年前做了,不确定现在是否有所更改。

 sap.ui.core.AppCacheBuster.register("/img/sap/bc/ui5_ui5/sap/ZAPPNAME/");
 

这就是我当时能够清除已加载组件的缓存的方法。

现在进入您的脚本,它将永远无法执行。 因为启动板仅加载组件,而不加载index.html,并且您只是在缓存UI5资源。 (我在这里错过了什么)。

再次介绍最佳做法。 您无需使用寄存器模块路径来加载组件。 您可以像下面这样在ui5 manifest.json中直接提及。

https://ui5。 sap.com/#/topic/fb19f501b16e4e4991eb6a017770945b.html

使用此方法是最好的方法,因为它将同时处理缓存。 我写了另一个博客,讨论组件重用,但是不确定是否使用ui5版本(需要检查第二部分)。

https://blogs.sap。 com/2019/07/11/通过路由在Webide中本地重新使用组件。然后,现在。/

BR ,

Mahesh

一周热门 更多>