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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 徕卡超大杯首次进军海外!小米13 Ult
- 下一篇: 你真的会用ABAP, Java和Java