WebIDE中的全局实用程序项目,用于重用帮助程序类

时间:2017-06-29 06:34:10

标签: sapui5 sap-fiori sap-web-ide

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

因此我在WebIDE中创建了一个名为

的UI5应用程序项目
  

com.company.base

和自定义项目

  

my.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 as

  

comcompanybase

在我的自定义应用程序中,我将以下路由添加到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的lokal工作区作为参考?我尝试用../../向上导航,但这对我没有用。

1 个答案:

答案 0 :(得分:0)

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

这可以防止您在每次更改后需要部署。

相关问题