在 Web 中重用 SAPUI5 自定义控件库 IDE

Reusing SAPUI5 custom control library in Web IDE

我或多或少清楚如何实现 SAPUI5 控件库并将其部署到 SAP ABAP 存储库,但是我完全无法尝试在 Web-IDE 中重用它。 Web-IDE 只是没有看到部署到 SAP ABAP 存储库的库。当然,我总是可以将库文件克隆到所有项目中,但这不是正确的方法。尝试了不同的依赖路径变体都无济于事。

有人知道吗?

谢谢。

您是否尝试在 manifest.json 文件中设置依赖项?从未尝试过您的设置,只是一个提示。

"dependencies": {
            "minUI5Version": "1.38.0",
            "libs": {
                "sap.ui.core": {},
                "sap.m": {},
                "sap.ui.layout": {},
                "YOUR_LIB": {}
            }

终于,问题解决了。这就是:

  1. 首先,在 Web IDE 我为库创建了一个单独的项目

  2. 在项目的根文件夹下我创建了另一个名为 "library"(名称可以任意)。在 "library" 文件夹下,我根据库的 ID(或名称 space)创建了文件夹层次结构:假设您正在开发名称为 space 的库“com.your_proud_company_name.controls”,在这种情况下,您必须创建一个与路径“com/your_proud_company_name/controls”相对应的嵌套文件夹层次结构。

  3. 我将所有库文件连同正确编写的 library.js 文件一起放入最深的文件夹(示例中为 "controls")
  4. 现在是时候将新项目部署到 SAP HCP(在项目的本地菜单中 select 部署 -> 部署到 SAP HANA 云平台)。部署时,系统会要求您提供应用程序的名称。给一个任意的名字并在某处记下来。我们稍后会用到它。还要记下已部署应用程序的版本(SAP 将自动提供默认编号 - 如 1.0.1)

  5. 现在转到您计划使用此库的应用项目并打开文件 neo-app.json

  6. 将以下条目添加到 "routes" 列表:

    {

       "path": "/webapp/resources",
       "target": {
           "type": "application",
           "name": "your_deployed_library_application_name", 
           "version": "version_of_your_deployed_library_application",
           "entryPath": "/library"
       },
       "description": "Custom control library"
    

    },

  7. 在此 "roots" 条目中 "webapp" 是应用程序根文件夹的默认名称,如果您使用其他名称,请更改 "path" 值因此

  8. "type" 值("application" 在我们的例子中)是路由的预定义类型之一,用于可共享的应用程序。

  9. "name" value 是部署的应用程序的名称(不是 Web 中的项目名称 IDE)。

  10. "entryPath" 值是 HCP 开始搜索库文件的库项目(和应用程序)中的根文件夹。

  11. 现在您可以将库作为依赖项添加到应用程序项目的 manifest.json 文件中。 "dependencies" 下的条目应如下所示( 将您的特定值放入 "minVersion"):

        "com.your_proud_company_name.controls": {
            "minVersion": "1.0.5"
        }