Created by Jerry Wang, last modified on Sep 16, 2015
Created by Jerry Wang, last modified on Nov 06, 2014
对象M里包含了所有UI5运行所需要的module:
R的value为4,代表module已经加载完毕:
因为该涉及到的module 此时尚未加载,因此利用AJAX进行同步加载:
- sap-ui-loaddbg
- dbg
- -dbg
- async
- false
- execModule
将所有的.替换成/:
将之前用jQuery.sap.declare添加到mModules map里的entry取出:
根据debug mode的状态选择load哪个版本的js 文件:
require是用同步方式取resource:
line 16231会跳转到line 16241:
load成功后立刻执行module:
![jQuery.sap.require jQuery.sap.require](http://dev-img.mos.moduyun.com/20231113/2ab25db5-7186-4a72-a284-01f0a92c4d2b.png)
UI5里使用jQuery.sap.require 同步加载module:
首先判断传入的参数是否是array或者function:
将module name转换成url:
将.替换成/:
转换之后的结果:
line 8392 利用原生的exec试探传入的s是否为一个js文件:
![jQuery.sap.require jQuery.sap.require](http://dev-img.mos.moduyun.com/20231113/4dfa385c-988c-417c-b94c-b6a914e4055c.png)
![jQuery.sap.require jQuery.sap.require](http://dev-img.mos.moduyun.com/20231113/7976cd0e-fa6c-44f1-a3f3-105ce1168b4d.png)
![jQuery.sap.require jQuery.sap.require](http://dev-img.mos.moduyun.com/20231113/d2dbea9a-38ee-4415-bca6-6a8cb6e5054e.png)
![jQuery.sap.require jQuery.sap.require](http://dev-img.mos.moduyun.com/20231113/b17582e0-e4f9-4e48-9825-2759c678b622.png)
![jQuery.sap.require jQuery.sap.require](http://dev-img.mos.moduyun.com/20231113/fced8145-d47d-4ff2-9e91-066c672d87e6.png)
最后通过AJAX获得结果:
![jQuery.sap.require jQuery.sap.require](http://dev-img.mos.moduyun.com/20231113/c36a6a96-3bc1-4dd1-a5e6-4ff4fe9e07d8.png)