寫于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被加載的。