Информация: у NPM такая же проблема
Я хочу создать проект UI5, но UI5 должен быть импортирован с использованием NPM или Yarn. Я скачал пример с Walkthrough, шаг 12: https://sapui5.hana.ondemand.com/#/topic/4df1d914e52d4b1aa0805eb01522537e ... и установил пряжу. Файл package.json уже присутствует в демоверсии, а команда «yarn install» (а также «npm install») загружает все в node_modules. Затем я изменил атрибут src в index.html следующим образом:
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 часа ... Спасибо.
Редактировать: Все работает отлично, когда я загружаю весь UI5 из https://openui5.org/releases/... но у NPM и Yarn разная структура папок, поэтому я добавил следующий data-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:
file:///C:/_my/sap.m.tutorial.walkthrough.12/node_modules/@openui5/themelib_sap_b>elize/src/sap/ui/core/themes/sap_belize/library-parameters.json
- NetworkError: Failed to execute 'send' on 'XMLHttpRequest':
Failed to load
'file:///C:/_my/sap.m.tutorial.walkthrough.12/node_modules/@openui5/themelib_sap_belize/src/sap/ui/core/themes/sap_belize/library-parameters.json'.