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

2020-09-01 17:38发布

         点击此处--->   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。

         点击此处--->   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条回答
大简至美
1楼-- · 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

SAP浪
2楼-- · 2020-09-01 18:11

我有一些问题可以为您的问题提供更多的背景信息。

1。 您是否要在另一个组件中加载一个或多个ui5组件?

2。 是在Launchpad中打开的主要组件(ui5应用程序),还是您正在使用index.html加载应用程序。

3。 如果是index.html,为什么不使用fiori启动板加载应用程序,因为它具有更好的组件可重用性,可用于缓存清除。

4。 您如何在主组件中加载其他组件。

BR,

Mahesh

SAP砖家
3楼-- · 2020-09-01 18:08

如果操作正确,则不需要

 jQuery.sap.registerModulePath(" custLookup.custLookup","在重新存放位置存储多组件的位置"); 
追夢秋陽
4楼-- · 2020-09-01 17:59

Mahesh Kumar Palavalli

1。 我正在尝试在主组件中加载多个ui5组件

2。 通过启动板打开主要组件

4。

在component.js中注册模块路径

 jQuery.sap.registerModulePath(" custLookup.custLookup","在重新存储位置存储多组件的位置"); 

以XML添加组件

  
三十六小时_GS
5楼-- · 2020-09-01 18:16

似乎您的应用只是从启动板打开的,但未在启动板内部运行.....

一周热门 更多>