任務:分析 SAP UI5 root XML 視圖的加載邏輯。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iM4EDOhJjZiRGN5EDZlRGOjljM0UTZ2UGOlZ2YzIDOw8CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
滑鼠放到 initiator 這一列上,找到調用棧的 UIComponent.js 的 createContent 方法:
可以看到,這裡的邏輯是,從 manifest.json 裡解析出 root view 定義,然後執行個體化該視圖。
我們再來看看另一個 root 視圖加載失敗的 SAP UI5 應用:
Access to XMLHttpRequest at ‘
https://sapui5.hana.ondemand.com/resources/sap/ui/demo/CombineLatest/Combine.view.xml’ from origin ‘http://localhost:3002’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.
也成功解析出 root view 的名稱了:
使用 ajax 加載 xml view:
正确的 path:
錯誤的 path:
命中:
再看出問題的應用:
找到問題了:大小寫不比對。
這個 c 改成 C 後,問題消失: