【发布时间】:2015-01-19 01:08:51
【问题描述】:
我有一个自定义库 com.foo.library,我想将其作为我构建的类似 Fiori 应用程序的依赖项。
SAP Fiori Launchpad for Developers -> Launchpad 应用的最佳实践
在component.js配置文件中声明配置信息,如图标位置、库依赖等
有道理,将我的库添加为依赖项看起来像
dependencies: {
libs: ["sap.m", "sap.ui.layout", "com.foo.library"],
components: []
},
使用 Fiori,您必须使用相对路径。
例如,我的依赖项必须在以下位置找到它才能工作
/resources/com/foo/library
将自定义库上传到 ABAP SAPUI5 存储库并使用相对路径提供服务的步骤是什么?
编辑:
目前我使用 Component.init 加载了库
sap.ui.getCore().loadLibrary("com.foo.library", "absolute path to library");
它可以工作,但是我想将库设置为依赖项
ComponentMetadata.prototype._loadDependencies = function() {
..
if (aLibraries) {
jQuery.each(aLibraries, function(i, sLib) {
jQuery.sap.log.info("Component \"" + that.getName() +
sap.ui.getCore().loadLibrary(sLib);
});
}
从上面的代码我可以看到,当组件加载库依赖项时,没有选项可以传入 url,所以我假设必须找到相对于资源的库
【问题讨论】:
-
您是否尝试过在您的应用程序中使用 jQuery.sap.registerModulePath("com.foo.library", "[YOUR URL]") ,然后您可以添加组件并且前缀将被正确解析.
-
@sirion 我把代码放在最上面,效果很好,谢谢
-
但是 Fiori Launchpad for Developers 的最后一点说,“避免在 Component.js 中使用 jQuery.sap.registerModulePath”!
-
@sakthi:不要在组件内部使用它 - 在使用该组件的应用程序的组件外部使用它。
-
@sirion:但这里的问题是如何将另一个组件添加为组件的依赖项!