WebIDE 中用于重用 helper 的全局实用程序项目 类
Global utility project in WebIDE for reuse of helper classes
我尝试在 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 workspace作为参考?我尝试使用 ../../ 向上导航,但这对我不起作用。
WebIDE项目:
运行 -> 运行 配置 -> 创建新配置(使用所需的参数),另外在 "Advanced settings" 中选中复选框 "Use my workspace first"。
这应该可以避免您在每次更改后都需要部署。
我尝试在 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 workspace作为参考?我尝试使用 ../../ 向上导航,但这对我不起作用。
WebIDE项目: 运行 -> 运行 配置 -> 创建新配置(使用所需的参数),另外在 "Advanced settings" 中选中复选框 "Use my workspace first"。
这应该可以避免您在每次更改后都需要部署。