我尝试在 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 的本地工作区作为参考?我尝试使用 ../../ 向上导航,但这对我不起作用。