下圖是筆者 SAP UI5 開發教程中使用到的一段代碼:
運作時
toUrl
方法列印的值:
.
這個 toUrl 的傳回值,在
index.html
裡通過
data-sap-ui-resourceroots
指定:
toUrl 方法的計算,會考慮任何已配置的 ID 映射或資源路徑。它還支援路徑内的
./
和
../
等相對段,但不支援通過這些路徑出現在輸入參數的最開頭。
如果相對導航會越過根命名空間(例如
sap.ui.require.toUrl("../")
)或當資源名稱以斜杠或相對段開頭時,将引發錯誤。
注意:toUrl 不解析傳回的 URL;是絕對 URL 還是相對 URL 取決于配置的 baseUrl 和路徑。
和 SAP UI5 過去曾經是一國的 Module Name syntax 的關聯關系
處理資源的舊 UI5 API(如 jQuery.sap.registerModulePath、jQuery.sap.require 和 jQuery.sap.declare)使用點分隔
.
的命名方案(稱為
子產品名稱
),其動機是全局對象名稱 Javascript 中的命名空間。
新的 URN 方案更好地比對存儲在伺服器中的相應資源(檔案)的名稱,并且點(
.
)不再是資源名稱中的禁止字元。 這最終允許使用相同的 API 處理具有不同類型(擴充名)的資源,而不僅僅是 JS 檔案。
最後需要注意的是,URN 方案更好地比對 AMD 加載程式(如 requireJS)使用的命名約定。
sap.ui.define
使用其 ID、依賴項和子產品導出值或工廠定義 JavaScript 子產品。