UI5参数:data-sap-ui-xx-waitfortheme和data-sap-ui-xx-componentpreload
UI5 parameters: data-sap-ui-xx-waitfortheme and data-sap-ui-xx-componentpreload
UI5 HTML-bootstrapper 有两个我不太明白的参数:
data-sap-ui-xx-componentpreload
data-sap-ui-xx-waitfortheme
我查看了官方文档,没有得到一些直接的描述。
所以,我的问题:
我什么时候应该使用data-sap-ui-xx-componentpreload
,它有什么好处?
我什么时候应该使用data-sap-ui-xx-waitfortheme
,它有什么好处?
⚠️要事第一...
xx-
选项是实验性的。它们可能会在未来的 UI5 版本中被删除,或者它们的行为可能会以不兼容的方式发生变化。
选项sap-ui-xx-componentPreload
默认情况下,UI5 在创建 ComponentContainer 时自动请求应用 bundle Component-preload.js
(例如通过 data-sap-ui-oninit="module:sap/ui/core/ComponentSupport"
)。
The bundle is generated by UI5 tooling for deployment 以便用户最终使用应用程序的 优化版本 。因此,避免在 index.html
! 中使用 data-sap-ui-xx-componentpreload
发布独立应用程序,否则,用户最终会不必要地使用应用程序的未压缩、未捆绑的开发人员版本。
index.html
(data-sap-ui-*
) 中的选项不会影响典型的 Fiori 启动板 (FLP) 应用程序,因为 FLP 使用它自己的 HTML 页面。
使用 sap-ui-xx-componentPreload
仅对没有 Node.js 环境(无法使用 UI5 工具)的预览、测试或演示场景有意义,这样可以避免 404 错误。例如,SAP Web IDE 用于在 URL 中附加选项 sap-ui-xx-componentPreload=off
,以便预览运行时不会出现 404 错误。
值
async
或 sync
默认情况下取决于 sap-ui-preload
/ sap-ui-async
设置。
off
加载 Component.js
而不是 Component-preload.js
尽管有一个 ComponentContainer。
选项sap-ui-xx-waitForTheme
xx-waitForTheme
选项有助于避免 FOUC(Flash Of Unstyled Content),并在某些情况下减少同步 XHR。该选项告诉应用推迟某些任务,直到主题被加载和应用。
值(自 UI5 1.63 起)
init
等待主题 → 执行 Core 的初始化处理程序 (attachInit(<strong>fn</strong>)
) → 呈现应用程序。
如果某些控件过早地尝试通过 sap/ui/core/theming/Parameters.get
synchronously (deprecated) 访问与主题相关的参数,请使用此选项。
rendering
(之前是true
直到1.62)先执行Core的init handler →等待主题→初始化渲染。
如果没有设置值,则立即执行Core的init和初始渲染,无需等待主题→FOUC。
有关更多选项和信息,请参阅 Configuration Options and URL Parameters 及其父主题。
UI5 HTML-bootstrapper 有两个我不太明白的参数:
data-sap-ui-xx-componentpreload
data-sap-ui-xx-waitfortheme
我查看了官方文档,没有得到一些直接的描述。
所以,我的问题:
我什么时候应该使用
data-sap-ui-xx-componentpreload
,它有什么好处?我什么时候应该使用
data-sap-ui-xx-waitfortheme
,它有什么好处?
⚠️要事第一...
xx-
选项是实验性的。它们可能会在未来的 UI5 版本中被删除,或者它们的行为可能会以不兼容的方式发生变化。
选项sap-ui-xx-componentPreload
默认情况下,UI5 在创建 ComponentContainer 时自动请求应用 bundle Component-preload.js
(例如通过 data-sap-ui-oninit="module:sap/ui/core/ComponentSupport"
)。
The bundle is generated by UI5 tooling for deployment 以便用户最终使用应用程序的 优化版本 。因此,避免在 index.html
! 中使用 data-sap-ui-xx-componentpreload
发布独立应用程序,否则,用户最终会不必要地使用应用程序的未压缩、未捆绑的开发人员版本。
index.html
(data-sap-ui-*
) 中的选项不会影响典型的 Fiori 启动板 (FLP) 应用程序,因为 FLP 使用它自己的 HTML 页面。
使用 sap-ui-xx-componentPreload
仅对没有 Node.js 环境(无法使用 UI5 工具)的预览、测试或演示场景有意义,这样可以避免 404 错误。例如,SAP Web IDE 用于在 URL 中附加选项 sap-ui-xx-componentPreload=off
,以便预览运行时不会出现 404 错误。
值
async
或sync
默认情况下取决于sap-ui-preload
/sap-ui-async
设置。off
加载Component.js
而不是Component-preload.js
尽管有一个 ComponentContainer。
选项sap-ui-xx-waitForTheme
xx-waitForTheme
选项有助于避免 FOUC(Flash Of Unstyled Content),并在某些情况下减少同步 XHR。该选项告诉应用推迟某些任务,直到主题被加载和应用。
值(自 UI5 1.63 起)
init
等待主题 → 执行 Core 的初始化处理程序 (attachInit(<strong>fn</strong>)
) → 呈现应用程序。
如果某些控件过早地尝试通过sap/ui/core/theming/Parameters.get
synchronously (deprecated) 访问与主题相关的参数,请使用此选项。rendering
(之前是true
直到1.62)先执行Core的init handler →等待主题→初始化渲染。
如果没有设置值,则立即执行Core的init和初始渲染,无需等待主题→FOUC。
有关更多选项和信息,请参阅 Configuration Options and URL Parameters 及其父主题。