天天看點

使用 mock 資料在本地運作 SAP Fiori Elements 應用的工作原理

本系列的前兩篇文章:

在沒有任何前端開發經驗的基礎上, 建立第一個 SAP Fiori Elements 應用

如何使用 mock 資料在本地運作 SAP Fiori Elements

本文研究 Fiori Elements 應用本地運作,而不是連接配接遠端資料庫,消費伺服器 OData 服務的工作原理。

本地運作 SAP Fiori Elements 應用時,通路的 index.html 為:test 檔案夾下的 flpSandboxMockServer.html

使用 mock 資料在本地運作 SAP Fiori Elements 應用的工作原理
這個 id 為 sap-ui-bootstrap 的 script 标簽裡,定義了 SAP UI5 bootstrap 需要加載的 JavaScript Resource 檔案:
使用 mock 資料在本地運作 SAP Fiori Elements 應用的工作原理
這個 script data-sap-ui-use-mockserver 标簽裡,定義了 為 true:
使用 mock 資料在本地運作 SAP Fiori Elements 應用的工作原理
使用 mock server 的标志位,在 locate-reuse-libs.js 裡被通路。在 callback 裡執行 mock server 的 init 操作。
使用 mock 資料在本地運作 SAP Fiori Elements 應用的工作原理
在 mock 模式下運作,metadata 的 url 也指向本地 xml 檔案了:
使用 mock 資料在本地運作 SAP Fiori Elements 應用的工作原理
mock server url:/sap/opu/odata/sap/SEPMRA_PROD_MAN/ 和正常模式下運作的 OData server url 相比沒有變化,
使用 mock 資料在本地運作 SAP Fiori Elements 應用的工作原理
關鍵的一個方法:

// load local mock data
            oMockServer.simulate(sMetadataUrl, {
                sMockdataBaseUrl: sJsonFilesUrl,
                bGenerateMissingMockData: true
            });