SAP UI5 + Yarn = does not run



信息:NPM也有同样的问题

我想创建一个UI5项目,但UI5应该使用NPM或Yarn导入。我从演练下载了示例,步骤12:https://sapui5.hana.ondemand.com/#/topic/4df1d914e52d4b1aa0805eb01522537e

并安装了Yarn。文件package.json已经出现在演示中,命令yarn install(以及npm install(将所有内容下载到node_modules中。然后我在index.html中更改了src-attribute,如下所示:

src="../node_modules/@openui5/sap.ui.core/src/sap-ui-core.js"

但当我运行index.html时,它什么也不做。例如,此错误显示为:

Failed to load component for container container. Reason: Error: failed to load 'sap/m/library.js' from ../node_modules/@openui5/sap.ui.core/src/sap/m/library.js: script load error.

文件夹";m〃;不存在。。。

此外,在不存在的文件夹中搜索library.js:node_modules/@openui5/sap.ui.core/src/sap/ui/core/themes/sap_belize/library.css…文件夹sap_belize丢失。

当我使用默认的UI5 src时,一切正常:

src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js"

很多人提到ui5 src应该是这样的:

src="resources/sap-ui-core.js"

但是这样的文件夹不存在,所以它不能工作。

我有什么东西不见了吗?我本以为这会立即奏效,但我已经花了4个小时了。。。谢谢

编辑:当我从https://openui5.org/releases/…但是NPM和Yarn有不同的文件夹结构,所以我添加了以下数据sap-ui-resourceroots,现在看来UI5以某种方式工作,但主题仍然缺失。。。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SAPUI5 Walkthrough</title>
<script
id="sap-ui-bootstrap"
src="../node_modules/@openui5/sap.ui.core/src/sap-ui-core.js"
data-sap-ui-theme="sap_belize"
data-sap-ui-resourceroots='{
"sap.ui.demo.walkthrough": "./",
"sap.m": "../node_modules/@openui5/sap.m/src/sap/m",
"sap.base": "../node_modules/@openui5/sap.ui.core/src/sap/base",
"sap.ui": "../node_modules/@openui5/sap.ui.core/src/sap/ui",
"sap.ui.layout": "../node_modules/@openui5/sap.ui.layout/src/sap/ui/layout",
"sap.ui.unified": "../node_modules/@openui5/sap.ui.unified/src/sap/ui/unified",
"sap.m.themes": "../node_modules/@openui5/themelib_sap_belize/src/sap/m/themes"

}'
data-sap-ui-theme-roots='{
"sap_belize": "../node_modules/@openui5/themelib_sap_belize/src/"
}'
data-sap-ui-oninit="module:sap/ui/core/ComponentSupport"
data-sap-ui-compatVersion="edge"
data-sap-ui-async="true">
</script>
</head>
<body class="sapUiBody" id="content">
<div data-sap-ui-component data-name="sap.ui.demo.walkthrough" data-id="container" data-settings='{"id" : "walkthrough"}'></div>
</body>
</html>

我当前的错误表明需要一些不存在的文件:

Could not load theme parameters from: 

UI5文档已经回答了您的问题,请参阅"使用OpenUI5的应用程序开发"一节。

基本上,所有UI5示例和教程都假设有一个支持UI5的中间件*将所有UI5库映射到一个层次结构中*使用名为resources/的虚拟路径将该层次结构的根映射到应用程序的根。

ui5工具是开源的,它提供了这样一个开箱即用的中间件。SAP提供UI5支持的专有服务器(例如NetWeaver ABAP、NetWeaver Java等(也包括类似的中间件。

如果您不想使用这样的中间件,那么要么需要额外的配置(就像您对资源和主题根所做的那样(,要么需要将所有文件一起复制到适合您需要的结构中。

然而,推荐的方法是上面概述的方法。

获取一个官方示例应用程序。https://github.com/SAP/openui5-masterdetail-app

对于您的问题,看起来您混合了本地和服务器文件系统。Node_modules未被ui5 serve公开。显然,您不能对文件系统进行XMLHttpRequest调用。

CCD_ 6由服务器虚拟地创建/映射。

相关内容

最新更新