我在Eclipse中創建了幾個SAPUI5 Web應用程序,這些應用程序已部署到SAP NetWeaver PO 7.5應用程序服務器。 所有這些應用程序都在「通用」項目中使用通用組件。我只是讓他們在通過頭中的index.html
這個引導腳本標籤的特定應用程序可供選擇:如何通過SAPUI5從WebIDE引用SAP Cloud中的另一個項目
<!-- Bootstrapping UI5 -->
<script id="sap-ui-bootstrap"
src="/sapui5/resources/sap-ui-cachebuster/sap-ui-core.js"
data-sap-ui-libs="sap.m"
data-sap-ui-theme="path.to.custom.theme"
data-sap-ui-compatVersion="edge"
data-sap-ui-resourceroots='{"com.namespace.ui.specificapp": ".", "com.namespace.ui.common" :"/com.namespace~ui~common~web"}'
data-sap-ui-frameOptions="trusted"
data-sap-ui-appCacheBuster = "./,/com.namespace~ui~common~web/" >
</script>
,一切工作正常。但今天的挑戰是將這些應用程序轉移到SAP Cloud。我現在所做的是將項目(包括公共項目)導入到WebIDE中。我發現的第一件事是data-sap-ui-resourceroots
屬性不再起作用,因爲應用程序無法從公共項目中找到組件。所以,我部署的常見應用到SAP雲裏的index.html像這樣的引導腳本標記插入相應的網址:
<script id="sap-ui-bootstrap"
src="/sapui5/resources/sap-ui-cachebuster/sap-ui-core.js"
data-sap-ui-libs="sap.m"
data-sap-ui-theme="path.to.custom.theme"
data-sap-ui-compatVersion="edge"
data-sap-ui-resourceroots='{"com.namespace.ui.specificapp": ".", "com.namespace.ui.common" :"/https://common-aXXXXXXXX.dispatcher.hana.ondemand.com/"}'
data-sap-ui-frameOptions="trusted"
data-sap-ui-appCacheBuster = "./,/com.namespace~ui~common~web/" >
這讓我們在瀏覽器中找到JS-文件從通用組件常見的項目,但使我以下錯誤:
Note: Your browser does not support JavaScript or it is turned off. Press the button to proceed.
這是由https://common-aXXXXXXXX.dispatcher.hana.ondemand.com/主機迴應。當我分析HTTP請求時,我發現它有參數Accept:text/plain, */*; q=0.01
集。我不知道SAPUI5爲什麼要求純文本或我可以改變這種行爲。有誰知道如何將此應用程序結構轉移到SAP Cloud?
您是否已經在neo-app.json文件中定義了一個通用應用程序的鏈接? –