关于 SAP UI5 getSAPLogonLanguage is not a function 的错误消息以及 API 版本的讨论

这个错误在使用最新的 SAP UI5 SDK 并且切换到调试模式时会出现,但不是总能够重现。

Uncaught ModuleError: failed to execute module factory for ''sap/ui/core/Core.js'': this.language._getSAPLogonLanguage is not a function
at makeModuleError (https://sapui5.hana.ondemand.com/resources/sap-ui-core-dbg.js:1044:15)
at Module.failWith (https://sapui5.hana.ondemand.com/resources/sap-ui-core-dbg.js:816:13)
at https://sapui5.hana.ondemand.com/resources/sap-ui-core-dbg.js:1832:33
at requireAll (https://sapui5.hana.ondemand.com/resources/sap-ui-core-dbg.js:1747:12)
at executeModuleDefinition (https://sapui5.hana.ondemand.com/resources/sap-ui-core-dbg.js:1798:3)
at Object.ui5Define [as define] (https://sapui5.hana.ondemand.com/resources/sap-ui-core-dbg.js:1931:3)
at eval (https://sapui5.hana.ondemand.com/resources/sap/ui/core/Core-dbg.js?eval:8:8)
at eval ()
at execModule (https://sapui5.hana.ondemand.com/resources/sap-ui-core-dbg.js:1647:15)
at requireModule (https://sapui5.hana.ondemand.com/resources/sap-ui-core-dbg.js:1548:5)

在调试模式下:

不能稳定重现:


通过JavaScript操作HTML/CSS是可能的,比如下面的代码:

className = "someCSSClass";

或者直接通过CSS,例如。但是要注意:SAPUI5生成的HTML和CSS不是公共API的一部分,可能会在补丁和小版本中发生变化

如果决定重写样式,则需要在SAPUI5每次更新时测试和更新修改。这样做的先决条件是开发人员可以控制SAPUI5的版本,例如,在独立场景中使用的版本。当在SAP Fiori启动台上运行你的应用程序时,开发人员不可能有 SAP UI5 版本的控制权,SAPUI5是集中加载所有应用程序。因此,SAP Fiori的启动平台应用程序不应该覆盖样式。

永远不要使用或覆盖不属于API引用的私有函数。私有函数通常(但并不总是)以一个“_”作为前缀。

除非另有说明,SAP UI5 官网中的 API 指的是 公共API,即函数、类、名称空间、控件及其声明的属性、聚合等。公共API的唯一定义是API参考,它包含在SAPUI5演示套件中。没有提到的特性不是API的一部分。

以下规则适用于引入新的api或对现有api进行不兼容的更改:

  • 主要版本(x.y .zz):新的主要版本可以引入新的api或对现有api进行不兼容的更改。

  • 次要版本(x.y .zz):新的次要版本可以引入新的api,但不能包含对任何api的不兼容更改。

  • 补丁版本(x.y .zz):新的补丁版本只包含对现有实现的修复,但通常不包含新特性或不兼容的API更改。

你可能感兴趣的:(关于 SAP UI5 getSAPLogonLanguage is not a function 的错误消息以及 API 版本的讨论)