我在index.html中的引导程序中使用以下语句从官方CDN源加载Resouces。
<script
src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js"
id="sap-ui-bootstrap"
data-sap-ui-libs="sap.m, sap.ui.commons"
src="resources/sap-ui-core.js"
data-sap-ui-theme="sap_bluecrystal"
data-sap-ui-compatVersion="edge"
data-sap-ui-bindingSyntax='complex'
data-sap-ui-resourceroots='{
"sap.ui.whatever.app": "./" }'
>
在我的index.html中,该组件已加载。
sap.ui.getCore().attachInit(function () {
sap.ui.localResources("resources");
new sap.ui.core.ComponentContainer({
name : "sap.ui.whatever.app"
}).placeAt("appContent");
});
在使用本地资源(src =“ resources / sap-ui-core.js”)加载应用程序时,它可以完美运行。仅在使用CDN源时,我会收到控制台错误,告诉我未加载视图:
无法加载 https://sapui5.hana.ondemand.com/resources/view/App.view.xml:否 请求中存在“ Access-Control-Allow-Origin”标头 资源。因此,原点“ http://myserver.com:8003”不是 允许访问。响应的HTTP状态代码为404。
我在API中读到,SAPUI5默认使用相对于源路径的资源根。我试图通过引导程序设置资源根:
data-sap-ui-resourceroots='{
"sap.ui.whatever.app": "./" }'
或在我的视图和/或组件的init功能中
sap.ui.localResources("resources");
没有成功!附加说明:仅在使用组件时出现此问题。如何告诉SAPUI5使用本地资源?
其他信息: 我的项目结构:
通过manifest.json加载第一个(根)视图时发生错误。但是manifest.json可以通过相同的调用加载。