如下圖所示
SAP UI5 架構在加載時,将 id 轉換成 url:
sap/ui/demo/CombineLatest/Component.js,
然後在其頭部,拼接上來自 id 為 sap-ui-bootstrap 裡的 src 屬性定義的 SAP UI5 庫檔案的字首:
https://sapui5.hana.ondemand.com/resources/最後得到的路徑:
https://sapui5.hana.ondemand.com/resources/sap/ui/demo/CombineLatest/Component.js顯然,這個路徑是錯誤的。因為 Component.js 僅僅存在于我們工程自身。
是以需要使用 data-sap-ui-resourceroots 告訴 SAP UI5 加載器,如果遇到字首為 sap.ui.demo.CombineLatest 的本地資源檔案,**不要使用 sap-ui-core.js **的字首即
https://sapui5.hana.ondemand.com/resources,而是使用本地路徑./
修改之後,資源加載成功,正确的路徑應該是:http://localhost:3002/combine/Component.js
這個路徑是怎麼來的呢?
(1) Component.js 的 id 為 sap.ui.demo.CombineLatest.Component,因為 data-sap-ui-resourceroots 生效,将 sap.ui.demo.CombineLatest.Component 替換成 ./Component
(2) ./Component 替換成 URL:/Component.js
(3) ./之前的 url 為 localhost:3002/combine
得到最後的絕對路徑去加載 Component.js:
http://localhost:3002/combine/Component.js