Sapui5 SAP UI5和x2B;纱线=不流动
信息:NPM也有同样的问题 我想创建一个UI5项目,但UI5应该使用NPM或纱线导入。我从演练步骤12下载了示例:。。。并安装了纱线。demo中已经存在package.json文件,命令“纱线安装”(以及“npm安装”)将所有内容下载到node_模块中。然后我更改了index.html中的src属性,如下所示:Sapui5 SAP UI5和x2B;纱线=不流动,sapui5,yarnpkg,ui5-tooling,Sapui5,Yarnpkg,Ui5 Tooling,信息:NPM也有同样的问题 我想创建一个UI5项目,但UI5应该使用NPM或纱线导入。我从演练步骤12下载了示例:。。。并安装了纱线。demo中已经存在package.json文件,命令“纱线安装”(以及“npm安装”)将所有内容下载到node_模块中。然后我更改了index.html中的src属性,如下所示: src="../node_modules/@openui5/sap.ui.core/src/sap-ui-core.js" src="resources/sap-ui-core.js"
src="../node_modules/@openui5/sap.ui.core/src/sap-ui-core.js"
src="resources/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="../node_modules/@openui5/sap.ui.core/src/sap-ui-core.js"
src="resources/sap-ui-core.js"
。。。但这样的文件夹不存在,因此无法工作
我有什么遗漏吗?我原以为这会立即工作,但我已经花了4个小时与它现在。。。谢谢
编辑:
当我从
... 但是NPM和Thread有不同的文件夹结构,所以我添加了以下数据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>
以正式的申请为例。 对于您的问题,看起来您混合了本地和服务器文件系统。
ui5-serve
未公开节点\u模块。显然,您不能对文件系统进行XMLHttpRequest调用
src=“resources/sap ui core.js”
由服务器虚拟创建/映射。UI5文档已经回答了您的问题,请参阅“使用OpenUI5开发应用程序”一节
基本上,所有UI5示例和教程都假设有一个支持UI5的中间件
*将所有UI5库映射到单个层次结构中
*使用名为resources/
的虚拟路径,将该层次结构的根映射到应用程序的根
是开源的,提供了这种现成的中间件。SAP提供UI5支持的专有服务器(如NetWeaver ABAP、NetWeaver Java等)包括类似的中间件
如果您不想使用这样的中间件,那么要么需要额外的配置(就像您对资源和主题根所做的那样),要么需要将所有文件一起复制到适合您需要的结构中
然而,推荐的方法是上面所示的方法