Bootstrapping ushell_abap 以实现变体持久性
Bootstrapping ushell_abap for variant persistence
我有一个 FIORI 应用程序(从启动板启动),我在其中使用统一 shell 来保留变体。
在我的 index.html 中,我先 bootstrap ushell_abap 然后 ui bootstrap 这样
<script id="sap-ushell-bootstrap" src="https://sapui5.hana.ondemand.com/1.90.0/resources/sap/ushell_abap/bootstrap/abap.js"></script>
<script id="sap-ui-bootstrap" src="https://sapui5.hana.ondemand.com/1.90.0/resources/sap-ui-core.js"
data-sap-ui-libs="sap.ushell, sap.collaboration, sap.m, sap.ui.layout, sap.ui.ux3"
data-sap-ui-theme="sap_belize"
data-sap-ui-resourceroots='{"cvg.wallapp": "./"}'
data-sap-ui-compatVersion="edge"
data-sap-ui-async="true"
data-sap-ui-frameOptions="trusted"
data-sap-ui-bindingSyntax="complex"
data-sap-ui-oninit="module:sap/ui/core/ComponentSupport">
</script>
我的应用程序运行良好,包括在本地主机中 运行 时的变体持久性。
我现在将应用程序部署到我的 Fiori 服务器,但 bootstrapping 过程崩溃了。
它完全无法加载我的主题和相关样式(仅使用伯利兹主题没有自定义样式)。
在控制台中出现以下错误:
includeStylesheet-dbg.js:77 GET https://xxxx:yyyy/sap/public/bc/themes/~client-810/~cache-Bo-MdJE9H9k-CMXXsBrbgsL9ZXQ/UI5/sap/suite/ui/commons/themes/Fiori_LP_Home_Theme/library.css net::ERR_ABORTED 404 (未找到)
找不到一个或多个参数。 - sap.ui.core.theming.Parameters
一旦我删除了 ushell_abap 的 bootstrapping,一切正常(当然除了持续存在的变体)。
我已用完 google 搜索并通读了此处的 ushell 文档 https://sapui5.hana.ondemand.com/sdk/#/api/sap.ushell
有人知道为什么在 truing 使用 ushell_abap 时 bootstrapping 失败吗?
我认为您错过了启动板的一个关键方面。
“从启动板启动”可能意味着:
- 它正在打开一个新选项卡 - 独立 -> 无需在问题中提及启动板。
- 留在同一个选项卡中 - standard/desired 设置。
如果 (1) 并且您尝试在 1.90.0
应用中加载启动板主题。确保 ui5 版本完全匹配。
“找不到参数”可能表明您的主题是为较旧的 UI5 版本创建的。
可能的解决方案:
- 您可以生成一个主题,匹配独立的 ui5 版本,将其上传到自己的 BSP 中。
- 错误可以忽略,可能有一些
ui-故障。
在任何情况下,404 错误还表明您首先没有link主题正确。
如果 (2),则永远不会调用您的 index.html。 UI5 是从 component.js
开始的。因此,您在那里的所有自举都不算数。
在这种情况下index.html
只是本地开发的游乐场。
对于shell,这已经到位了。我不确定你为什么要重新加载它。
这里的主要问题是该应用程序使用的 css 库版本与 bootstrap 库版本不同,这导致了错误(在这种情况下,核心在 css 核心的旧 css 库中没有样式。
如果按照 Benedikt Kromer 的解释,您的应用程序设置为独立应用程序并且您 bootstrap 到 index.html 中的特定 sapui5 版本,您可以强制该应用程序使用相同的版本css 库,方法是将样式应用于主应用程序初始化时的核心。
我刚刚在初始化中添加了:
sap.ui.getCore().applyTheme("sap_belize");
这迫使应用加载 css 与我以前 bootstrap 相同版本的库。
您可以通过查看开发者工具中的网络选项卡来查看。
我有一个 FIORI 应用程序(从启动板启动),我在其中使用统一 shell 来保留变体。
在我的 index.html 中,我先 bootstrap ushell_abap 然后 ui bootstrap 这样
<script id="sap-ushell-bootstrap" src="https://sapui5.hana.ondemand.com/1.90.0/resources/sap/ushell_abap/bootstrap/abap.js"></script>
<script id="sap-ui-bootstrap" src="https://sapui5.hana.ondemand.com/1.90.0/resources/sap-ui-core.js"
data-sap-ui-libs="sap.ushell, sap.collaboration, sap.m, sap.ui.layout, sap.ui.ux3"
data-sap-ui-theme="sap_belize"
data-sap-ui-resourceroots='{"cvg.wallapp": "./"}'
data-sap-ui-compatVersion="edge"
data-sap-ui-async="true"
data-sap-ui-frameOptions="trusted"
data-sap-ui-bindingSyntax="complex"
data-sap-ui-oninit="module:sap/ui/core/ComponentSupport">
</script>
我的应用程序运行良好,包括在本地主机中 运行 时的变体持久性。
我现在将应用程序部署到我的 Fiori 服务器,但 bootstrapping 过程崩溃了。 它完全无法加载我的主题和相关样式(仅使用伯利兹主题没有自定义样式)。
在控制台中出现以下错误:
includeStylesheet-dbg.js:77 GET https://xxxx:yyyy/sap/public/bc/themes/~client-810/~cache-Bo-MdJE9H9k-CMXXsBrbgsL9ZXQ/UI5/sap/suite/ui/commons/themes/Fiori_LP_Home_Theme/library.css net::ERR_ABORTED 404 (未找到)
找不到一个或多个参数。 - sap.ui.core.theming.Parameters
一旦我删除了 ushell_abap 的 bootstrapping,一切正常(当然除了持续存在的变体)。
我已用完 google 搜索并通读了此处的 ushell 文档 https://sapui5.hana.ondemand.com/sdk/#/api/sap.ushell
有人知道为什么在 truing 使用 ushell_abap 时 bootstrapping 失败吗?
我认为您错过了启动板的一个关键方面。
“从启动板启动”可能意味着:
- 它正在打开一个新选项卡 - 独立 -> 无需在问题中提及启动板。
- 留在同一个选项卡中 - standard/desired 设置。
如果 (1) 并且您尝试在 1.90.0
应用中加载启动板主题。确保 ui5 版本完全匹配。
“找不到参数”可能表明您的主题是为较旧的 UI5 版本创建的。
可能的解决方案:
- 您可以生成一个主题,匹配独立的 ui5 版本,将其上传到自己的 BSP 中。
- 错误可以忽略,可能有一些 ui-故障。
在任何情况下,404 错误还表明您首先没有link主题正确。
如果 (2),则永远不会调用您的 index.html。 UI5 是从 component.js
开始的。因此,您在那里的所有自举都不算数。
在这种情况下index.html
只是本地开发的游乐场。
对于shell,这已经到位了。我不确定你为什么要重新加载它。
这里的主要问题是该应用程序使用的 css 库版本与 bootstrap 库版本不同,这导致了错误(在这种情况下,核心在 css 核心的旧 css 库中没有样式。
如果按照 Benedikt Kromer 的解释,您的应用程序设置为独立应用程序并且您 bootstrap 到 index.html 中的特定 sapui5 版本,您可以强制该应用程序使用相同的版本css 库,方法是将样式应用于主应用程序初始化时的核心。
我刚刚在初始化中添加了:
sap.ui.getCore().applyTheme("sap_belize");
这迫使应用加载 css 与我以前 bootstrap 相同版本的库。
您可以通过查看开发者工具中的网络选项卡来查看。