sap ui5中sap.ui.define,sap.ui.require和jQuery.sap.require之间的区别

2020-09-08 15:01发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 有人可以举例说明sap ...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

有人可以举例说明sap ui5中sap.ui.define,sap.ui.require和jQuery.sap.require之间的确切区别。

此致

阿拉加

2条回答
DafaDDDa
2020-09-08 15:31

嗨,

sap.ui.define( https://sapui5.netweaver.ondemand.com/1.52.29/#/api/sap.ui/methods/sap.ui.define ), 区别之处:

与标准AMD的区别

sap.ui.define的当前实现不同于AMD规范( https: //github.com/amdjs/amdjs-api ),或者从具体的AMD加载器(如requireJS)在几个方面:名称sap.ui.define与普通定义不同。 这有两个原因:首先,它避免了sap.ui.define是AMD加载程序的确切实现的印象。 其次,只要UI5或使用UI5的应用程序尚未完全准备好与AMD加载器一起运行,它就允许AMD加载器(例如requireJS)和sap.ui.define在一个应用程序中共存。 请注意,API名称的差异还意味着UI5加载程序不能用于加载"实际" AMD模块,因为它们期望方法定义并要求可用。 可以加载使用统一模块定义(UMD)语法的模块,但仅当不存在AMD加载器或它们的导出也向全局名称空间公开时才加载,即使存在AMD加载器(例如jQuery)。 ui.define当前使用同步XHR调用加载模块。 这基本上是对UI5同步历史的致敬。 但是:同步依赖项加载和工厂执行显式地不是sap.ui.define合同的一部分。 相反,已经清楚并计划将实现异步加载,至少如果不是唯一的实现,则至少可以作为替代。 还要检查上面的异步合同部分。 需要确保同步加载依赖项的应用程序必须使用旧的jQuery.sap.require API。 sap.ui.define不支持插件使用其他文件类型,格式或协议。 sap.ui.define不计划在将来支持此功能。define不支持将绝对URL作为模块名称(依赖项),也不允许以斜杠开头的模块名称。 要使用绝对URL引用模块,可以注册指向该URL(或它的前缀)的资源根。 sap.ui.define不支持requireJS的"糖",其中使用sap.ui.require(" something")的CommonJS样式依赖项声明在执行工厂函数之前自动转换为sap.ui.define依赖项。

此外,有关信息:

-自1.58版起不推荐使用JQuery.sap( https ://sapui5.hana.ondemand.com/#/api/jQuery.sap

致谢

面料

一周热门 更多>