【问题标题】:Reusing SAPUI5 custom control library in Web IDE在 Web IDE 中重用 SAPUI5 自定义控件库
【发布时间】:2017-04-03 23:04:33
【问题描述】:

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

有人知道吗?

谢谢。

【问题讨论】:

    标签: sapui5 sap-web-ide


    【解决方案1】:

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

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

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

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

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

    6. 将以下条目添加到“路线”列表中:

      {

         "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. 在此“根”条目中,“webapp”是应用程序根文件夹的默认名称,如果您使用其他名称,请相应更改“路径”值

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

    9. “name”值是已部署应用程序的名称(不是 Web IDE 中的项目名称)。

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

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

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

    【讨论】:

    • 嗨,很抱歉像这样捎带你的答案,但我找到了很多这样的答案,而且总是遇到同样的问题。当我在 manifest.json 中这样声明我的库时,网络选项卡显示找不到我的库。该应用程序在openui5.hana.ondemand.com/1.52.5/resources 下查找我的库,而不是在我部署应用程序的位置。你有没有遇到过这种情况?
    【解决方案2】:

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

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

    【讨论】:

    • 嗨 Francesco,是的,我确实尝试过。出现错误“找不到文件 library.js”。
    • 好的,你的库中有 library.js 吗?尝试将库也指定为 manifest.json 中的必需组件。来自sapui5.netweaver.ondemand.com/sdk/#docs/guide/… libs:应由 SAPUI5 核心加载以在组件中使用的库的路径组件:应由 SAPUI5 核心加载以在组件中使用的组件的完整路径
    • 是的,我有library.js,并将其放入SAP ABAP MIME 存储库到预定义的路径中(类似于SAPUI5 路径)。当我从 Web IDE 运行应用程序时,它看不到它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-08
    • 1970-01-01
    • 2019-06-28
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多