2020-09-08 15:01发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
有人可以举例说明sap ui5中sap.ui.define,sap.ui.require和jQuery.sap.require之间的确切区别。
此致
阿拉加
______
以下资源提供了带有示例的综合说明:
仔细阅读这些资源后,让我们知道是否还有不清楚的地方。 我将相应地扩展这个答案。
嗨,
与标准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 )
致谢
面料
最多设置5个标签!
______
以下资源提供了带有示例的综合说明:
仔细阅读这些资源后,让我们知道是否还有不清楚的地方。 我将相应地扩展这个答案。
嗨,
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 )
致谢
面料
一周热门 更多>