sap.ui.require in SAP UI5 and require in nodejs

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sap.ui.require in SAP UI5 and require in nodejs相关的知识,希望对你有一定的参考价值。

UI5

例如我需要在controller的onShowHello里通过MessageToast弹一个消息显示在UI上,
技术分享图片

我需要先定义我自己的controller,该controller extend自UI5标准的controller module,路径为sap/ui/core/mvc/Controller, 而为了调用MessageToast的show方法,也必须先拿到MessageToast的实例。所以UI5里使用sap.ui.define去加载这两个依赖的module,加载完成后,会调用应用开发人员传入的回调函数,加载的两个module的内容作为两个输入参数传入该回调函数。

技术分享图片

UI5所有的module由jquery.sap.global.js中的Module统一管理。

技术分享图片

技术分享图片

更多细节请查看我的SAP前同事Wu Ji的博客SAPUI5 walkthrough step 6 – modules, dive in – how does modules work?

当然也存在sap.ui.require这种简洁用法。一个UI5框架的使用例子:

技术分享图片

nodejs

逻辑和UI5类似,假设我想使用queryString这个module,只需要用nodejs标准的require函数将其引入:

技术分享图片

然后就可在应用代码里使用该module通过module.exports暴露出的方法:

技术分享图片

require调用internal/module.js里的self.require:

技术分享图片

然后是Module._load:

技术分享图片

nodejs也有类似UI5的module统一管理器:Module._cache. 每次加载module时,首先从这个管理器里查看是否该module已经加载。只有当module在管理器里不存在时才会真正加载,new一个Module对象,维护好属性后存入module管理器。

技术分享图片

加载好的module就是一系列function的集合:

技术分享图片
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

技术分享图片

技术分享图片

以上是关于sap.ui.require in SAP UI5 and require in nodejs的主要内容,如果未能解决你的问题,请参考以下文章

sap.ui.require in SAP UI5 and require in nodejs

Internationalization(i18n) support in SAP CRM,UI5 and Hybris

使用SAP云平台portal服务将SAP UI5应用部署到portal上

HTML5开发移动web应用——SAP UI5篇

使用SAP Cloud Platform fullstack WebIDE创建SAP UI5应用并部署

[ChatGPT 勘误] SAP UI5 的 sap.ui.base.Object