问题描述
我为 ui5-tooling 克隆了 demo 项目并成功运行它。 但是如果我对项目做一点改动,就会出现一些错误。
重现
我对 manifest.json 做了一些改动,如下所示:
"sap.ui5": { "dependencies": { "libs": { "sap.ui.core": { "lazy": false },"sap.m": { "lazy": false },"sap.ui.layout": { "lazy": false },"sap.ui.unified": { "lazy": false },"sap.ushell": { "lazy": false } } },
添加另一个库“sap.ushell”。 然后再次运行 opa:'ui5 serve -o'
症状
opa无法运行,在chrome的开发者工具中,发现错误: 错误:无法从资源/sap/ushell/library.js 加载“sap/ushell/library.js”:404 - 未找到...
说明
我进行此更改是因为当我尝试为现有项目启用 ui5 工具时,我无法成功运行 OPA。 如果我通过“ui5 add”手动添加lib,则会出现更多错误,例如“找不到文件:/resources/sap/ui/core/themes/sap_belize/base.less”
解决方法
lib sap.ushell
仅在 SAPUI5 中可用,因为它不是开源的。
从 UI5 工具 specVersion
2.x 开始,您可以定义应用应在 SAPUI5
文件中使用 OpenUI5
还是 ui5.yaml
。
- 按照 https://sap.github.io/ui5-tooling/pages/GettingStarted/ 中提到的步骤
- 将
sap.ushell
添加到库列表中。ui5 add sap.ushell
您可以仔细检查该库是否已添加到 ui5.yaml
文件中。还要确保 specVersion
为 2.x 并且 framework
设置为 SAPUI5
。