我尝试在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工作区作为参考?我尝试用../../向上导航,但这对我没有用。
答案 0 :(得分:0)
WebIDE项目: 运行 - >运行配置 - >创建新配置(带有所需的参数),另外还有"高级设置"选中复选框"首先使用我的工作区"。
这可以防止您在每次更改后需要部署。