1

我尝试在 SAP WebIDE 中开发一个实用程序项目,以便与其他开发人员共享有用的实用程序类。我们称其为 BaseProject。在我的 CustomProject 中,我想使用对这个 BaseProject 的引用并使用例如格式化程序。

因此,我在 WebIDE 中创建了一个 UI5 应用程序项目,名为

com.company.base

和一个自定义项目

我的.custom.app

在 com.company.base 项目中,我有以下文件夹结构:

com.company.base
+--- webapp/
     +--- formatter/
          Formatter.js
     Component.js
     library.js
     manifest.json
neo-app-json

library.js 看起来像这样:

sap.ui.define(["jquery.sap.global", "sap/ui/core/library"
], function(jQuery) {

    "use strict";

    sap.ui.getCore().initLibrary({
        name: "com.company.base",
        version: "1.0.0",
        dependencies: ["sap.ui.core"],
        types: [],
        interfaces: [],
        controls: [
            "com.company.base.formatter.Formatter"
        ],
        elements: []
    });

    return com.company.base;

}, /* bExport= */ false);

我将基础项目部署到 hcp 为

公司基地

在我的自定义应用程序中,我将以下路由添加到 neo-app.json

{
    "path": "/comcompanybase",
    "target": {
        "type": "application",
        "name": "comcompanybase"
    },
    "description": "Base Project"
},

并在 component.js 的 init-Method 内部进行了注册,如下所示:

jQuery.sap.registerModulePath("com.company.base", "/comcompanybase/webapp");
jQuery.sap.require("com.company.base.Component");

最后,我可以在自定义应用程序的控制器中使用格式化程序,如下所示:

sap.ui.define([
    "my/custom/app/controller/BaseController", 
    "com/company/base/formatter/Formatter"
], function(BaseController, Formatter) {

    "use strict";

    return BaseController.extend("my.custom.app.controller.Master", {
        formatter: Formatter,
        onInit: function() {
            //some coding
        }
    });
});

每次我第一次启动应用程序时都找不到参考。第二次一切正常。

此外,每次更改后,我都必须将应用程序部署到 hcp。有没有办法使用 WebIDE 的本地工作区作为参考?我尝试使用 ../../ 向上导航,但这对我不起作用。

4

1 回答 1

0

WebIDE 项目:运行 -> 运行配置 -> 创建新配置(使用所需的参数),此外在“高级设置”中选中“首先使用我的工作区”复选框。

这应该可以防止您在每次更改后都需要进行部署。

于 2017-06-29T11:56:26.950 回答