如何获取控制器内的UI5框架版本?
How to get a version of UI5 framework within the controller?
我想检索控制器内部的 UI5 版本(例如 1.97.0-SNAPSHOT
)。最简单的方法是获取 sap.ui.version
的值,但它是一个全局变量,我想避免这种情况。
我想,sap.ui.VersionInfo
会是一个正确的选择,但是查看它的API,我找不到任何方法,与UI5版本的检索有关。
我也检查了控制器的内部结构(不太深)和sap.ui.Device
,但没有版本号。
如何在不使用全局变量的情况下获取 UI5 框架版本?
如果您正在使用 OpenUI5,通过 sap.ui.version
访问版本字符串是在使用全局引用时仍然允许的例外之一(请参阅 "Don't use references to global names"). But you can also require sap/ui/Global
然后通过 myRequiredGlobal<strong>.version</strong>
.
访问它
在 SAPUI5 的情况下,补丁版本并不总是与 SAPUI5 核心版本(即 OpenUI5)相同。要可靠地获得正确的 SAPUI5 版本,需要模块 sap/ui/VersionInfo
。它 method load()
will return a promise that resolves with an object - same as https://<em><host></em>/resources/sap-ui-version.json
- 包含有关当前框架的所有信息,包括其版本。
// VersionInfo required from "sap/ui/VersionInfo"
// VersionUtil required from "sap/base/util/Version"
// Within an async function:
const { version } = await VersionInfo.load(); // version === "1.94.1" !== sap.ui.version (1.94.0)
const versionUtil = new VersionUtil(version);
如您所见,还可以将检索到的版本字符串与 module sap/base/util/Version
组合,后者提供 getMajor()
、getMinor()
、getPatch()
、compareTo
、inRange
、等等
相关文档主题
- SAPUI5:https://ui5.sap.com/#/topic/91f021426f4d1014b6dd926db0e91070
- OpenUI5:https://openui5.hana.ondemand.com/topic/91f021426f4d1014b6dd926db0e91070
⚠️已知问题
在 独立 UI5 应用程序(例如使用 ui5 build self-contained -a
构建)中使用模块 sap/ui/VersionInfo
时,来自生成的 resources/sap-ui-version.json
是 应用程序版本 而不是框架的版本。在撰写本文时,独立应用程序应使用 sap.ui.version
而不是如上所述,在 SAPUI5 的情况下,它不会报告确切的补丁级别。
我想检索控制器内部的 UI5 版本(例如 1.97.0-SNAPSHOT
)。最简单的方法是获取 sap.ui.version
的值,但它是一个全局变量,我想避免这种情况。
我想,sap.ui.VersionInfo
会是一个正确的选择,但是查看它的API,我找不到任何方法,与UI5版本的检索有关。
我也检查了控制器的内部结构(不太深)和sap.ui.Device
,但没有版本号。
如何在不使用全局变量的情况下获取 UI5 框架版本?
如果您正在使用 OpenUI5,通过 sap.ui.version
访问版本字符串是在使用全局引用时仍然允许的例外之一(请参阅 "Don't use references to global names"). But you can also require sap/ui/Global
然后通过 myRequiredGlobal<strong>.version</strong>
.
在 SAPUI5 的情况下,补丁版本并不总是与 SAPUI5 核心版本(即 OpenUI5)相同。要可靠地获得正确的 SAPUI5 版本,需要模块 sap/ui/VersionInfo
。它 method load()
will return a promise that resolves with an object - same as https://<em><host></em>/resources/sap-ui-version.json
- 包含有关当前框架的所有信息,包括其版本。
// VersionInfo required from "sap/ui/VersionInfo"
// VersionUtil required from "sap/base/util/Version"
// Within an async function:
const { version } = await VersionInfo.load(); // version === "1.94.1" !== sap.ui.version (1.94.0)
const versionUtil = new VersionUtil(version);
如您所见,还可以将检索到的版本字符串与 module sap/base/util/Version
组合,后者提供 getMajor()
、getMinor()
、getPatch()
、compareTo
、inRange
、等等
相关文档主题
- SAPUI5:https://ui5.sap.com/#/topic/91f021426f4d1014b6dd926db0e91070
- OpenUI5:https://openui5.hana.ondemand.com/topic/91f021426f4d1014b6dd926db0e91070
⚠️已知问题
在 独立 UI5 应用程序(例如使用 ui5 build self-contained -a
构建)中使用模块 sap/ui/VersionInfo
时,来自生成的 resources/sap-ui-version.json
是 应用程序版本 而不是框架的版本。在撰写本文时,独立应用程序应使用 sap.ui.version
而不是如上所述,在 SAPUI5 的情况下,它不会报告确切的补丁级别。