写于2016-05-12.
(1) 最重要的是学会:在console里看到一些log,如何找到具体是哪一行JS打印的这些log的方法。在jQuery.sap.log.info里设置断点肯定不行,因为会不断触发。
Jerry演示的用ctrl+O和全文搜索两种办法。推荐前一种。
(2) 用GM6 Smart control的一个例子, 讲解了Mock server的工作原理:通过拦截http request,并且把mock过的local 数据作为response返回给consumer。
(3) 以#2里demo中的server.js为例,讲解了UI5是如何加载一个module:
(a): module在design time是一个js
(b): js source code被加载,存到一个string里
©: window.exec(source code), 生成一个object
(d): js代码可以直接使用这个object的方法-联想ABAP的PERFORM
(4) 在Gateway后台SE80的BSP application里是如何找到FioriLaunchpad.html文件
(5) 其他次要内容:Eclipse里tomcat 的两种方式:workspace metadata和standalone两种方式。Run as server时,如果是前者,会自动把project deploy到workspace下一个指定的folder,在我机器上就是C:\MyProgram\Eclipse\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps,如果是standalone方式,会自动deploy到tomcat的安装目录下。
以前一直稀里糊涂没有彻底搞清楚这些基础的知识,查了些资料,回答如下哈。
(1) 在tomcat里run时,noShellIndex.html 是通过web.xml 中的被加载的。能改名字,一般的名字是index.html,要保证与web.xml 中的的命名一致性。
其作用是:
每个Fiori APP 都作为一个独立的UI5 Component,可以被嵌入到不同的launchpad中。
例如:noShellIndex.html,就是用在本地的,单独的,不需要shell service的环境下。
FioriSandbox.html,就是用在本地的,mock shell service 的集成测试。
FioriLaunchpad.html,用于正式的环境中,例如UXG+AHN 的环境中。
(2) 在tomcat里run 的时候, resources/sap-ui-core.js 是从电脑的 C:\developmenttools\sapui5-dist-latest-release\sapui5-dist-static\resources被加载的。
UXG+AHN 的环境中,当opportunity在launchpad里打开时,根据Console 得知,sap-ui-core.js是从server上https://sapui5.hana.ondemand.com/1.28.23/resources/sap-ui-core.js被加载的。