Sapui5 SAP UI5和x2B;纱线=不流动

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"

信息: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"
但是当我运行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等)包括类似的中间件

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

然而,推荐的方法是上面所示的方法